@tarojs/webpack5-runner 3.5.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/dependencies/TaroSingleEntryDependency.js +18 -0
- package/dist/dependencies/TaroSingleEntryDependency.js.map +1 -0
- package/dist/index.h5.js +224 -0
- package/dist/index.h5.js.map +1 -0
- package/dist/index.mini.js +69 -0
- package/dist/index.mini.js.map +1 -0
- package/dist/loaders/miniTemplateLoader.js +63 -0
- package/dist/loaders/miniTemplateLoader.js.map +1 -0
- package/dist/plugins/BuildNativePlugin.js +124 -0
- package/dist/plugins/BuildNativePlugin.js.map +1 -0
- package/dist/plugins/H5Plugin.js +91 -0
- package/dist/plugins/H5Plugin.js.map +1 -0
- package/dist/plugins/MiniPlugin.js +1027 -0
- package/dist/plugins/MiniPlugin.js.map +1 -0
- package/dist/plugins/MiniSplitChunksPlugin.js +678 -0
- package/dist/plugins/MiniSplitChunksPlugin.js.map +1 -0
- package/dist/plugins/TaroLoadChunksPlugin.js +176 -0
- package/dist/plugins/TaroLoadChunksPlugin.js.map +1 -0
- package/dist/plugins/TaroNormalModule.js +51 -0
- package/dist/plugins/TaroNormalModule.js.map +1 -0
- package/dist/plugins/TaroNormalModulesPlugin.js +63 -0
- package/dist/plugins/TaroNormalModulesPlugin.js.map +1 -0
- package/dist/plugins/TaroSingleEntryPlugin.js +26 -0
- package/dist/plugins/TaroSingleEntryPlugin.js.map +1 -0
- package/dist/plugins/WebpackBarPlugin.js +26 -0
- package/dist/plugins/WebpackBarPlugin.js.map +1 -0
- package/dist/postcss/postcss.h5.js +70 -0
- package/dist/postcss/postcss.h5.js.map +1 -0
- package/dist/postcss/postcss.mini.js +75 -0
- package/dist/postcss/postcss.mini.js.map +1 -0
- package/dist/prebundle/bundle.js +167 -0
- package/dist/prebundle/bundle.js.map +1 -0
- package/dist/prebundle/constant.js +60 -0
- package/dist/prebundle/constant.js.map +1 -0
- package/dist/prebundle/index.js +234 -0
- package/dist/prebundle/index.js.map +1 -0
- package/dist/prebundle/scanImports.js +193 -0
- package/dist/prebundle/scanImports.js.map +1 -0
- package/dist/prebundle/utils.js +170 -0
- package/dist/prebundle/utils.js.map +1 -0
- package/dist/prebundle/webpack/TaroContainerEntryModule.js +76 -0
- package/dist/prebundle/webpack/TaroContainerEntryModule.js.map +1 -0
- package/dist/prebundle/webpack/TaroContainerPlugin.js +75 -0
- package/dist/prebundle/webpack/TaroContainerPlugin.js.map +1 -0
- package/dist/prebundle/webpack/TaroContainerReferencePlugin.js +124 -0
- package/dist/prebundle/webpack/TaroContainerReferencePlugin.js.map +1 -0
- package/dist/prebundle/webpack/index.js +1 -0
- package/dist/prebundle/webpack/index.js.map +1 -0
- package/dist/prerender/prerender.js +228 -0
- package/dist/prerender/prerender.js.map +1 -0
- package/dist/template/comp.js +4 -0
- package/dist/template/component.js +10 -0
- package/dist/template/component.js.map +1 -0
- package/dist/template/custom-wrapper.js +7 -0
- package/dist/template/custom-wrapper.js.map +1 -0
- package/dist/utils/H5AppInstance.js +110 -0
- package/dist/utils/H5AppInstance.js.map +1 -0
- package/dist/utils/index.js +53 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logHelper.js +153 -0
- package/dist/utils/logHelper.js.map +1 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/webpack.js +12 -0
- package/dist/utils/webpack.js.map +1 -0
- package/dist/webpack/BaseConfig.js +155 -0
- package/dist/webpack/BaseConfig.js.map +1 -0
- package/dist/webpack/BuildNativePlugin.js +57 -0
- package/dist/webpack/BuildNativePlugin.js.map +1 -0
- package/dist/webpack/Combination.js +69 -0
- package/dist/webpack/Combination.js.map +1 -0
- package/dist/webpack/H5BaseConfig.js +30 -0
- package/dist/webpack/H5BaseConfig.js.map +1 -0
- package/dist/webpack/H5Combination.js +106 -0
- package/dist/webpack/H5Combination.js.map +1 -0
- package/dist/webpack/H5WebpackModule.js +261 -0
- package/dist/webpack/H5WebpackModule.js.map +1 -0
- package/dist/webpack/H5WebpackPlugin.js +85 -0
- package/dist/webpack/H5WebpackPlugin.js.map +1 -0
- package/dist/webpack/MiniBaseConfig.js +73 -0
- package/dist/webpack/MiniBaseConfig.js.map +1 -0
- package/dist/webpack/MiniCombination.js +115 -0
- package/dist/webpack/MiniCombination.js.map +1 -0
- package/dist/webpack/MiniWebpackModule.js +204 -0
- package/dist/webpack/MiniWebpackModule.js.map +1 -0
- package/dist/webpack/MiniWebpackPlugin.js +154 -0
- package/dist/webpack/MiniWebpackPlugin.js.map +1 -0
- package/dist/webpack/WebpackModule.js +174 -0
- package/dist/webpack/WebpackModule.js.map +1 -0
- package/dist/webpack/WebpackPlugin.js +84 -0
- package/dist/webpack/WebpackPlugin.js.map +1 -0
- package/index.js +7 -0
- package/package.json +103 -0
package/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const webpack_1 = require("webpack");
|
|
4
|
+
class TaroSingleEntryDependency extends webpack_1.dependencies.ModuleDependency {
|
|
5
|
+
constructor(request, name, loc, miniType, options = {}) {
|
|
6
|
+
super(request);
|
|
7
|
+
this.name = name;
|
|
8
|
+
this.loc = loc;
|
|
9
|
+
this.miniType = miniType;
|
|
10
|
+
this.options = options;
|
|
11
|
+
}
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
get type() {
|
|
14
|
+
return 'single entry';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = TaroSingleEntryDependency;
|
|
18
|
+
//# sourceMappingURL=TaroSingleEntryDependency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaroSingleEntryDependency.js","sourceRoot":"","sources":["../../src/dependencies/TaroSingleEntryDependency.ts"],"names":[],"mappings":";;AAAA,qCAAsC;AAGtC,MAAqB,yBAA0B,SAAQ,sBAAY,CAAC,gBAAgB;IAMlF,YAAa,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE;QACrD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,aAAa;IACb,IAAI,IAAI;QACN,OAAO,cAAc,CAAA;IACvB,CAAC;CACF;AAlBD,4CAkBC"}
|
package/dist/index.h5.js
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const detectPort = require("detect-port");
|
|
13
|
+
const path = require("path");
|
|
14
|
+
const url_1 = require("url");
|
|
15
|
+
const webpack = require("webpack");
|
|
16
|
+
const WebpackDevServer = require("webpack-dev-server");
|
|
17
|
+
const shared_1 = require("@tarojs/shared");
|
|
18
|
+
const helper_1 = require("@tarojs/helper");
|
|
19
|
+
const H5Combination_1 = require("./webpack/H5Combination");
|
|
20
|
+
const utils_1 = require("./utils");
|
|
21
|
+
const H5AppInstance_1 = require("./utils/H5AppInstance");
|
|
22
|
+
let isFirstBuild = true;
|
|
23
|
+
function build(appPath, rawConfig) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const combination = new H5Combination_1.H5Combination(appPath, rawConfig);
|
|
26
|
+
const webpackConfig = yield combination.getWebpackConfig();
|
|
27
|
+
const config = combination.config;
|
|
28
|
+
const { isWatch } = config;
|
|
29
|
+
try {
|
|
30
|
+
if (isWatch) {
|
|
31
|
+
yield buildDev(webpackConfig, config, appPath);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
yield buildProd(webpackConfig, config);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
console.error(err);
|
|
39
|
+
!isWatch && process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
exports.default = build;
|
|
44
|
+
function buildProd(webpackConfig, config) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const compiler = webpack(webpackConfig);
|
|
47
|
+
const onBuildFinish = config.onBuildFinish;
|
|
48
|
+
compiler.hooks.emit.tapAsync('taroBuildDone', (compilation, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
if (shared_1.isFunction(config.modifyBuildAssets)) {
|
|
50
|
+
yield config.modifyBuildAssets(compilation.assets);
|
|
51
|
+
}
|
|
52
|
+
callback();
|
|
53
|
+
}));
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
compiler.run((error, stats) => {
|
|
56
|
+
compiler.close(error2 => {
|
|
57
|
+
const err = error || error2;
|
|
58
|
+
if (shared_1.isFunction(onBuildFinish)) {
|
|
59
|
+
onBuildFinish({
|
|
60
|
+
error: err,
|
|
61
|
+
stats: err ? null : stats,
|
|
62
|
+
isWatch: false
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
err ? reject(err) : resolve();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function buildDev(webpackConfig, config, appPath) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const routerConfig = config.router || {};
|
|
74
|
+
const routerMode = routerConfig.mode || 'hash';
|
|
75
|
+
const routerBasename = routerConfig.basename || '/';
|
|
76
|
+
const onBuildFinish = config.onBuildFinish;
|
|
77
|
+
const devServerOptions = yield getDevServerOptions(appPath, config);
|
|
78
|
+
const compiler = webpack(webpackConfig);
|
|
79
|
+
const server = new WebpackDevServer(devServerOptions, compiler);
|
|
80
|
+
const pathname = routerMode === 'browser' ? routerBasename : '/';
|
|
81
|
+
const devUrl = url_1.format({
|
|
82
|
+
protocol: devServerOptions.https ? 'https' : 'http',
|
|
83
|
+
hostname: !devServerOptions.host || devServerOptions.host.startsWith('local-ip') ? 'localhost' : devServerOptions.host,
|
|
84
|
+
port: devServerOptions.port,
|
|
85
|
+
pathname
|
|
86
|
+
});
|
|
87
|
+
compiler.hooks.done.tap('taroDone', () => {
|
|
88
|
+
if (isFirstBuild) {
|
|
89
|
+
isFirstBuild = false;
|
|
90
|
+
if (devUrl) {
|
|
91
|
+
console.log(helper_1.chalk.cyan(`ℹ Listening at ${devUrl}\n`));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
compiler.hooks.emit.tapAsync('taroBuildDone', (compilation, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
if (shared_1.isFunction(config.modifyBuildAssets)) {
|
|
97
|
+
yield config.modifyBuildAssets(compilation.assets);
|
|
98
|
+
}
|
|
99
|
+
callback();
|
|
100
|
+
}));
|
|
101
|
+
compiler.hooks.done.tap('taroBuildDone', stats => {
|
|
102
|
+
if (shared_1.isFunction(onBuildFinish)) {
|
|
103
|
+
onBuildFinish({
|
|
104
|
+
error: null,
|
|
105
|
+
stats,
|
|
106
|
+
isWatch: true
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
compiler.hooks.failed.tap('taroBuildDone', error => {
|
|
111
|
+
if (shared_1.isFunction(onBuildFinish)) {
|
|
112
|
+
onBuildFinish({
|
|
113
|
+
error,
|
|
114
|
+
stats: null,
|
|
115
|
+
isWatch: true
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return new Promise((resolve, reject) => {
|
|
120
|
+
server.startCallback(err => {
|
|
121
|
+
if (err) {
|
|
122
|
+
reject(err);
|
|
123
|
+
return console.log(err);
|
|
124
|
+
}
|
|
125
|
+
resolve();
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function getDevServerOptions(appPath, config) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const publicPath = config.publicPath ? utils_1.addLeadingSlash(utils_1.addTrailingSlash(config.publicPath)) : '/';
|
|
133
|
+
const outputPath = path.join(appPath, config.outputRoot || 'dist');
|
|
134
|
+
const customDevServerOption = config.devServer || {};
|
|
135
|
+
const routerConfig = config.router || {};
|
|
136
|
+
const routerMode = routerConfig.mode || 'hash';
|
|
137
|
+
const isMultiRouterMode = routerMode === 'multi';
|
|
138
|
+
const proxy = {};
|
|
139
|
+
if (isMultiRouterMode) {
|
|
140
|
+
const app = new H5AppInstance_1.default(config.entry, {
|
|
141
|
+
sourceDir: path.join(appPath, config.sourceRoot || helper_1.SOURCE_DIR),
|
|
142
|
+
framework: config.framework,
|
|
143
|
+
entryFileName: config.entryFileName
|
|
144
|
+
});
|
|
145
|
+
const appConfig = app.appConfig;
|
|
146
|
+
const customRoutes = (routerConfig === null || routerConfig === void 0 ? void 0 : routerConfig.customRoutes) || {};
|
|
147
|
+
const routerBasename = routerConfig.basename || '/';
|
|
148
|
+
const getEntriesRoutes = (customRoutes = {}) => {
|
|
149
|
+
const conf = [];
|
|
150
|
+
for (let key in customRoutes) {
|
|
151
|
+
const path = customRoutes[key];
|
|
152
|
+
key = utils_1.addLeadingSlash(key);
|
|
153
|
+
if (typeof path === 'string') {
|
|
154
|
+
conf.push([key, utils_1.addLeadingSlash(path)]);
|
|
155
|
+
}
|
|
156
|
+
else if ((path === null || path === void 0 ? void 0 : path.length) > 0) {
|
|
157
|
+
conf.push(...path.map(p => [key, utils_1.addLeadingSlash(p)]));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return conf;
|
|
161
|
+
};
|
|
162
|
+
const bypass = req => {
|
|
163
|
+
var _a, _b, _c, _d;
|
|
164
|
+
if (((_a = req.headers.accept) === null || _a === void 0 ? void 0 : _a.indexOf('html')) !== -1) {
|
|
165
|
+
const pagePath = utils_1.stripTrailingSlash(utils_1.stripBasename(req.path, routerBasename));
|
|
166
|
+
// console.log('bypass:' + req.path, pagePath)
|
|
167
|
+
if (pagePath === '') {
|
|
168
|
+
return utils_1.addHtmlSuffix(appConfig.entryPagePath || ((_b = appConfig.pages) === null || _b === void 0 ? void 0 : _b[0]));
|
|
169
|
+
}
|
|
170
|
+
const pageIdx = ((_c = appConfig.pages) !== null && _c !== void 0 ? _c : []).findIndex(e => utils_1.addLeadingSlash(e) === pagePath);
|
|
171
|
+
if (pageIdx > -1) {
|
|
172
|
+
return utils_1.addHtmlSuffix((_d = appConfig.pages) === null || _d === void 0 ? void 0 : _d[pageIdx]);
|
|
173
|
+
}
|
|
174
|
+
const customRoutesConf = getEntriesRoutes(customRoutes);
|
|
175
|
+
const idx = getEntriesRoutes(customRoutes).findIndex(list => list[1] === pagePath);
|
|
176
|
+
if (idx > -1) {
|
|
177
|
+
// NOTE: 自定义路由
|
|
178
|
+
return utils_1.addHtmlSuffix(customRoutesConf[idx][0]);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
proxy[routerBasename] = { bypass };
|
|
183
|
+
}
|
|
184
|
+
const devServerOptions = helper_1.recursiveMerge({
|
|
185
|
+
devMiddleware: {
|
|
186
|
+
publicPath,
|
|
187
|
+
writeToDisk: false
|
|
188
|
+
},
|
|
189
|
+
static: {
|
|
190
|
+
directory: outputPath,
|
|
191
|
+
watch: true // webpack4: devServerOptions.watchContentBase
|
|
192
|
+
},
|
|
193
|
+
compress: true,
|
|
194
|
+
// disableHostCheck: true, // the disableHostCheck and allowedHosts options were removed in favor of the firewall option
|
|
195
|
+
host: '0.0.0.0',
|
|
196
|
+
// useLocalIp: true, @breaking: move in favor { host: 'local-ip' } (https://github.com/webpack/webpack-dev-server/releases?page=2)
|
|
197
|
+
hot: true,
|
|
198
|
+
https: false,
|
|
199
|
+
// inline: true, // the inline option (iframe live mode) was removed
|
|
200
|
+
open: true,
|
|
201
|
+
client: {
|
|
202
|
+
overlay: true
|
|
203
|
+
},
|
|
204
|
+
port: 10086,
|
|
205
|
+
// quiet: true, // the log, logLevel, logTime, noInfo, quiet, reporter and warn options were removed in favor of built-in webpack logger, please read this to enable and setup logging output
|
|
206
|
+
historyApiFallback: {
|
|
207
|
+
disableDotRule: true,
|
|
208
|
+
rewrites: [{
|
|
209
|
+
from: /./,
|
|
210
|
+
to: publicPath
|
|
211
|
+
}]
|
|
212
|
+
},
|
|
213
|
+
proxy
|
|
214
|
+
}, customDevServerOption);
|
|
215
|
+
const originalPort = devServerOptions.port;
|
|
216
|
+
const availablePort = yield detectPort(Number(originalPort));
|
|
217
|
+
if (availablePort !== originalPort) {
|
|
218
|
+
console.log(`ℹ 预览端口 ${originalPort} 被占用, 自动切换到空闲端口 ${availablePort}`);
|
|
219
|
+
devServerOptions.port = availablePort;
|
|
220
|
+
}
|
|
221
|
+
return devServerOptions;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=index.h5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.h5.js","sourceRoot":"","sources":["../src/index.h5.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const webpack = require("webpack");
|
|
13
|
+
const lodash_1 = require("lodash");
|
|
14
|
+
const MiniCombination_1 = require("./webpack/MiniCombination");
|
|
15
|
+
const prerender_1 = require("./prerender/prerender");
|
|
16
|
+
const prebundle_1 = require("./prebundle");
|
|
17
|
+
function build(appPath, rawConfig) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const combination = new MiniCombination_1.MiniCombination(appPath, rawConfig);
|
|
20
|
+
yield combination.make();
|
|
21
|
+
yield prebundle_1.preBundle(combination);
|
|
22
|
+
const webpackConfig = combination.chain.toConfig();
|
|
23
|
+
const config = combination.config;
|
|
24
|
+
return new Promise((resolve, reject) => {
|
|
25
|
+
const compiler = webpack(webpackConfig);
|
|
26
|
+
const onBuildFinish = config.onBuildFinish;
|
|
27
|
+
let prerender;
|
|
28
|
+
const onFinish = function (error, stats) {
|
|
29
|
+
if (typeof onBuildFinish !== 'function')
|
|
30
|
+
return;
|
|
31
|
+
onBuildFinish({
|
|
32
|
+
error,
|
|
33
|
+
stats,
|
|
34
|
+
isWatch: config.isWatch
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const callback = (err, stats) => __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
if (err || stats.hasErrors()) {
|
|
39
|
+
const error = err !== null && err !== void 0 ? err : stats.toJson().errors;
|
|
40
|
+
onFinish(error, null);
|
|
41
|
+
return reject(error);
|
|
42
|
+
}
|
|
43
|
+
if (!lodash_1.isEmpty(config.prerender)) {
|
|
44
|
+
prerender = prerender !== null && prerender !== void 0 ? prerender : new prerender_1.Prerender(config, webpackConfig, stats, config.template.Adapter);
|
|
45
|
+
yield prerender.render();
|
|
46
|
+
}
|
|
47
|
+
// const res = stats.toString({
|
|
48
|
+
// logging: 'verbose'
|
|
49
|
+
// })
|
|
50
|
+
// console.log('res: ', res)
|
|
51
|
+
onFinish(null, stats);
|
|
52
|
+
resolve(stats);
|
|
53
|
+
});
|
|
54
|
+
if (config.isWatch) {
|
|
55
|
+
compiler.watch({
|
|
56
|
+
aggregateTimeout: 300,
|
|
57
|
+
poll: undefined
|
|
58
|
+
}, callback);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
compiler.run((err, stats) => {
|
|
62
|
+
compiler.close(err2 => callback(err || err2, stats));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
exports.default = build;
|
|
69
|
+
//# sourceMappingURL=index.mini.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mini.js","sourceRoot":"","sources":["../src/index.mini.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAkC;AAClC,mCAAgC;AAChC,+DAA2D;AAC3D,qDAAiD;AACjD,2CAAuC;AAKvC,SAA8B,KAAK,CAAE,OAAe,EAAE,SAA0B;;QAC9E,MAAM,WAAW,GAAG,IAAI,iCAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC3D,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;QAExB,MAAM,qBAAS,CAAC,WAAW,CAAC,CAAA;QAE5B,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;QAClD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;QAEjC,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;YACvC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;YAC1C,IAAI,SAAoB,CAAA;YAExB,MAAM,QAAQ,GAAG,UAAU,KAAK,EAAE,KAAmB;gBACnD,IAAI,OAAO,aAAa,KAAK,UAAU;oBAAE,OAAM;gBAE/C,aAAa,CAAC;oBACZ,KAAK;oBACL,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,MAAM,QAAQ,GAAG,CAAO,GAAU,EAAE,KAAY,EAAE,EAAE;gBAClD,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;oBAC5B,MAAM,KAAK,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAA;oBAC1C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;oBACrB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;iBACrB;gBAED,IAAI,CAAC,gBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC9B,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,qBAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC7F,MAAM,SAAS,CAAC,MAAM,EAAE,CAAA;iBACzB;gBAED,+BAA+B;gBAC/B,uBAAuB;gBACvB,KAAK;gBACL,4BAA4B;gBAE5B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC,CAAA,CAAA;YAED,IAAI,MAAM,CAAC,OAAO,EAAE;gBAClB,QAAQ,CAAC,KAAK,CAAC;oBACb,gBAAgB,EAAE,GAAG;oBACrB,IAAI,EAAE,SAAS;iBAChB,EAAE,QAAQ,CAAC,CAAA;aACb;iBAAM;gBACL,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,KAAY,EAAE,EAAE;oBACxC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBACtD,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAxDD,wBAwDC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const sax = require("sax");
|
|
13
|
+
const loader_utils_1 = require("loader-utils");
|
|
14
|
+
function miniTemplateLoader(source) {
|
|
15
|
+
this.cacheable && this.cacheable();
|
|
16
|
+
/**
|
|
17
|
+
* 两种fix方案:
|
|
18
|
+
* 1. 用任意xml标签包裹source,使之变成较标准的xml格式(含有一个根节点)
|
|
19
|
+
* 2. 修改 sax.parser 的第一个参数为 true,启用严格模式
|
|
20
|
+
* 2.1 该模式下小程序模板中的标签或属性不会处理(例如写入<Import SrC="..." />不会处理成<import src="..." />,而是保持原样
|
|
21
|
+
* 2.2 该模式将认为传入的xml为非标准的,无需标准化,且不按照以根节点模式处理,因此可以正常解析小程序模板
|
|
22
|
+
*
|
|
23
|
+
* 推荐方案1,这样在构建时会正常打入需要的包,但是若用户有 SrC 类似的写法导致引用失败,则可直接修正,不会认为是打包出现了问题
|
|
24
|
+
**/
|
|
25
|
+
const sourceWithRoot = `<root>${source}</root>`;
|
|
26
|
+
const parser = sax.parser(false, { lowercase: true });
|
|
27
|
+
const requests = new Set();
|
|
28
|
+
const callback = this.async();
|
|
29
|
+
const loadModule = request => new Promise((resolve, reject) => {
|
|
30
|
+
this.addDependency(request);
|
|
31
|
+
this.loadModule(request, (err, src) => {
|
|
32
|
+
if (err) {
|
|
33
|
+
reject(err);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
resolve(src);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
parser.onattribute = ({ name, value }) => {
|
|
41
|
+
if (value && name === 'src' && loader_utils_1.isUrlRequest(value)) {
|
|
42
|
+
const request = loader_utils_1.urlToRequest(value);
|
|
43
|
+
requests.add(request);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
parser.onend = () => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
try {
|
|
48
|
+
const requestsArray = Array.from(requests);
|
|
49
|
+
if (requestsArray.length) {
|
|
50
|
+
for (let i = 0; i < requestsArray.length; i++) {
|
|
51
|
+
yield loadModule(requestsArray[i]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
callback(null, source);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
callback(error, source);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
parser.write(sourceWithRoot).close();
|
|
61
|
+
}
|
|
62
|
+
exports.default = miniTemplateLoader;
|
|
63
|
+
//# sourceMappingURL=miniTemplateLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"miniTemplateLoader.js","sourceRoot":"","sources":["../../src/loaders/miniTemplateLoader.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2BAA0B;AAC1B,+CAAyD;AAEzD,SAAwB,kBAAkB,CAAE,MAAM;IAChD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAA;IAClC;;;;;;;;QAQI;IACJ,MAAM,cAAc,GAAG,SAAS,MAAM,SAAS,CAAA;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAC3B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,CAAC,CAAA;aACZ;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,CAAA;aACb;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACvC,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,2BAAY,CAAC,KAAK,CAAC,EAAE;YAClD,MAAM,OAAO,GAAG,2BAAY,CAAC,KAAK,CAAC,CAAA;YACnC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACtB;IACH,CAAC,CAAA;IACD,MAAM,CAAC,KAAK,GAAG,GAAS,EAAE;QACxB,IAAI;YACF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1C,IAAI,aAAa,CAAC,MAAM,EAAE;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7C,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;iBACnC;aACF;YACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;SACvB;QAAC,OAAO,KAAK,EAAE;YACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;SACxB;IACH,CAAC,CAAA,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAA;AACtC,CAAC;AA/CD,qCA+CC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path = require("path");
|
|
4
|
+
const webpack = require("webpack");
|
|
5
|
+
const helper_1 = require("@tarojs/helper");
|
|
6
|
+
const TaroLoadChunksPlugin_1 = require("./TaroLoadChunksPlugin");
|
|
7
|
+
const webpack_1 = require("../utils/webpack");
|
|
8
|
+
const MiniPlugin_1 = require("./MiniPlugin");
|
|
9
|
+
const PLUGIN_NAME = 'BuildNativePlugin';
|
|
10
|
+
class BuildNativePlugin extends MiniPlugin_1.default {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.pageLoaderName = '@tarojs/taro-loader/lib/native-component';
|
|
14
|
+
}
|
|
15
|
+
apply(compiler) {
|
|
16
|
+
super.apply(compiler);
|
|
17
|
+
this.addLoadChunksPlugin(compiler);
|
|
18
|
+
}
|
|
19
|
+
run(compiler) {
|
|
20
|
+
this.appConfig = this.getAppConfig();
|
|
21
|
+
this.getPages();
|
|
22
|
+
this.getPagesConfig();
|
|
23
|
+
this.getConfigFiles(compiler);
|
|
24
|
+
this.addEntries();
|
|
25
|
+
this.addLoader(compiler);
|
|
26
|
+
}
|
|
27
|
+
getPages() {
|
|
28
|
+
if (helper_1.isEmptyObject(this.appConfig)) {
|
|
29
|
+
throw new Error('缺少 app 全局配置,请检查!');
|
|
30
|
+
}
|
|
31
|
+
const appPages = this.appConfig.components;
|
|
32
|
+
if (!appPages || !appPages.length) {
|
|
33
|
+
throw new Error('全局配置缺少 components 字段,请检查!');
|
|
34
|
+
}
|
|
35
|
+
if (!this.isWatch) {
|
|
36
|
+
helper_1.printLog("compile" /* COMPILE */, '发现入口', this.getShowPath(this.appEntry));
|
|
37
|
+
}
|
|
38
|
+
const { framework } = this.options;
|
|
39
|
+
this.prerenderPages = new Set();
|
|
40
|
+
this.pages = new Set([
|
|
41
|
+
...appPages.map(item => {
|
|
42
|
+
const pagePath = helper_1.resolveMainFilePath(path.join(this.options.sourceDir, item), helper_1.FRAMEWORK_EXT_MAP[framework]);
|
|
43
|
+
return {
|
|
44
|
+
name: item,
|
|
45
|
+
path: pagePath,
|
|
46
|
+
isNative: false
|
|
47
|
+
};
|
|
48
|
+
})
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
// entry 删除 app.js
|
|
52
|
+
addEntries() {
|
|
53
|
+
super.addEntries();
|
|
54
|
+
const deps = this.dependencies;
|
|
55
|
+
for (const [key, dep] of deps.entries()) {
|
|
56
|
+
if (dep.miniType === 'ENTRY') {
|
|
57
|
+
deps.delete(key);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
addLoadChunksPlugin(compiler) {
|
|
63
|
+
const fileChunks = new Map();
|
|
64
|
+
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, compilation => {
|
|
65
|
+
compilation.hooks.afterOptimizeChunks.tap(PLUGIN_NAME, chunks => {
|
|
66
|
+
for (const chunk of chunks) {
|
|
67
|
+
const id = TaroLoadChunksPlugin_1.getIdOrName(chunk);
|
|
68
|
+
if (this.options.commonChunks.includes(id))
|
|
69
|
+
return;
|
|
70
|
+
const deps = [];
|
|
71
|
+
for (const group of chunk.groupsIterable) {
|
|
72
|
+
group.chunks.forEach(chunk => {
|
|
73
|
+
const currentChunkId = TaroLoadChunksPlugin_1.getIdOrName(chunk);
|
|
74
|
+
if (id === currentChunkId)
|
|
75
|
+
return;
|
|
76
|
+
deps.push({
|
|
77
|
+
name: currentChunkId
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
fileChunks.set(id, deps);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
webpack.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation).render.tap(PLUGIN_NAME, (modules, { chunk }) => {
|
|
85
|
+
if (!webpack_1.getChunkEntryModule(compilation, chunk))
|
|
86
|
+
return modules;
|
|
87
|
+
// addChunkPages
|
|
88
|
+
if (fileChunks.size) {
|
|
89
|
+
let source;
|
|
90
|
+
const id = TaroLoadChunksPlugin_1.getIdOrName(chunk);
|
|
91
|
+
fileChunks.forEach((v, k) => {
|
|
92
|
+
if (k === id) {
|
|
93
|
+
source = TaroLoadChunksPlugin_1.addRequireToSource(id, modules, v);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
return source;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// 不生成 app.json
|
|
102
|
+
generateConfigFile(compilation, filePath, config) {
|
|
103
|
+
if (filePath === this.appEntry)
|
|
104
|
+
return;
|
|
105
|
+
super.generateConfigFile(compilation, filePath, config);
|
|
106
|
+
}
|
|
107
|
+
// 加载 taro-runtime 前必须先加载端平台插件的 runtime
|
|
108
|
+
addLoader(compiler) {
|
|
109
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, compilation => {
|
|
110
|
+
webpack.NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (_loaderContext, module) => {
|
|
111
|
+
if (module.rawRequest === '@tarojs/runtime') {
|
|
112
|
+
module.loaders.unshift({
|
|
113
|
+
loader: '@tarojs/taro-loader/lib/taro-runtime',
|
|
114
|
+
options: {
|
|
115
|
+
runtimePath: this.options.runtimePath
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.default = BuildNativePlugin;
|
|
124
|
+
//# sourceMappingURL=BuildNativePlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildNativePlugin.js","sourceRoot":"","sources":["../../src/plugins/BuildNativePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const helper_1 = require("@tarojs/helper");
|
|
13
|
+
const lodash_1 = require("lodash");
|
|
14
|
+
const path = require("path");
|
|
15
|
+
const webpack = require("webpack");
|
|
16
|
+
const H5AppInstance_1 = require("../utils/H5AppInstance");
|
|
17
|
+
const PLUGIN_NAME = 'H5Plugin';
|
|
18
|
+
class H5Plugin {
|
|
19
|
+
constructor(options = {}) {
|
|
20
|
+
this.pagesConfigList = new Map();
|
|
21
|
+
this.pages = new Set();
|
|
22
|
+
this.tryAsync = fn => (arg, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
try {
|
|
24
|
+
yield fn(arg);
|
|
25
|
+
callback();
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
callback(err);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
this.options = lodash_1.defaults(options || {}, {
|
|
32
|
+
sourceDir: '',
|
|
33
|
+
routerConfig: {},
|
|
34
|
+
entryFileName: 'app',
|
|
35
|
+
framework: helper_1.FRAMEWORK_MAP.NERV,
|
|
36
|
+
useHtmlComponents: false,
|
|
37
|
+
deviceRatio: {},
|
|
38
|
+
designWidth: 750
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
apply(compiler) {
|
|
42
|
+
const { entry } = compiler.options;
|
|
43
|
+
this.inst = new H5AppInstance_1.default(entry, this.options);
|
|
44
|
+
compiler.hooks.run.tapAsync(PLUGIN_NAME, this.tryAsync(() => {
|
|
45
|
+
this.run();
|
|
46
|
+
}));
|
|
47
|
+
compiler.hooks.watchRun.tapAsync(PLUGIN_NAME, this.tryAsync(() => {
|
|
48
|
+
this.run();
|
|
49
|
+
}));
|
|
50
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, compilation => {
|
|
51
|
+
webpack.NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (_loaderContext, module) => {
|
|
52
|
+
const { framework, entryFileName, sourceDir, designWidth, deviceRatio, loaderMeta, routerConfig } = this.options;
|
|
53
|
+
const { dir, name } = path.parse(module.resource);
|
|
54
|
+
const configSuffix = '.config';
|
|
55
|
+
if (!name.includes(configSuffix))
|
|
56
|
+
return;
|
|
57
|
+
const filePath = path.join(dir, name);
|
|
58
|
+
const pageName = filePath.replace(sourceDir + '/', '').replace(configSuffix, '');
|
|
59
|
+
const routerMode = (routerConfig === null || routerConfig === void 0 ? void 0 : routerConfig.mode) || 'hash';
|
|
60
|
+
const isMultiRouterMode = routerMode === 'multi';
|
|
61
|
+
const isApp = !isMultiRouterMode && pageName === entryFileName;
|
|
62
|
+
if (isApp || this.inst.pagesConfigList.has(pageName)) {
|
|
63
|
+
module.loaders.push({
|
|
64
|
+
loader: '@tarojs/taro-loader/lib/h5',
|
|
65
|
+
options: {
|
|
66
|
+
framework,
|
|
67
|
+
loaderMeta,
|
|
68
|
+
entryFileName,
|
|
69
|
+
sourceDir,
|
|
70
|
+
filename: name.replace(configSuffix, ''),
|
|
71
|
+
pages: this.inst.pagesConfigList,
|
|
72
|
+
useHtmlComponents: this.options.useHtmlComponents,
|
|
73
|
+
config: Object.assign({ router: this.options.routerConfig }, this.inst.appConfig),
|
|
74
|
+
pxTransformConfig: {
|
|
75
|
+
designWidth,
|
|
76
|
+
deviceRatio
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
run() {
|
|
85
|
+
delete this.inst.__appConfig;
|
|
86
|
+
delete this.inst.__pages;
|
|
87
|
+
delete this.inst.__pagesConfigList;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.default = H5Plugin;
|
|
91
|
+
//# sourceMappingURL=H5Plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"H5Plugin.js","sourceRoot":"","sources":["../../src/plugins/H5Plugin.ts"],"names":[],"mappings":"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"}
|