提交 0e278acb 编写于 作者: fxy060608's avatar fxy060608

fix(cli): dynamic entry(nvue)

上级 c0ca4bf8
...@@ -12,6 +12,7 @@ const { ...@@ -12,6 +12,7 @@ const {
const WebpackAppPlusNVuePlugin = require('../packages/webpack-app-plus-nvue-plugin') const WebpackAppPlusNVuePlugin = require('../packages/webpack-app-plus-nvue-plugin')
const WebpackErrorsPlugin = require('@dcloudio/vue-cli-plugin-uni/packages/webpack-errors-plugin') const WebpackErrorsPlugin = require('@dcloudio/vue-cli-plugin-uni/packages/webpack-errors-plugin')
const WebpackUniMPPlugin = require('@dcloudio/webpack-uni-mp-loader/lib/plugin/index-new')
const onErrors = require('@dcloudio/vue-cli-plugin-uni/util/on-errors') const onErrors = require('@dcloudio/vue-cli-plugin-uni/util/on-errors')
...@@ -91,9 +92,9 @@ const rules = [{ ...@@ -91,9 +92,9 @@ const rules = [{
} }
}, },
jsPreprocessorLoader jsPreprocessorLoader
], ],
exclude (modulePath) { exclude (modulePath) {
return excludeModuleReg.test(modulePath) && modulePath.indexOf('@dcloudio') === -1 return excludeModuleReg.test(modulePath) && modulePath.indexOf('@dcloudio') === -1
} }
}, },
{ {
...@@ -146,6 +147,7 @@ if (process.env.UNI_USING_NVUE_COMPILER) { ...@@ -146,6 +147,7 @@ if (process.env.UNI_USING_NVUE_COMPILER) {
}) })
} }
if (process.env.UNI_USING_NATIVE) { if (process.env.UNI_USING_NATIVE) {
plugins.push(new WebpackUniMPPlugin())
plugins.push(new CopyWebpackPlugin([{ plugins.push(new CopyWebpackPlugin([{
from: path.resolve(process.env.UNI_INPUT_DIR, 'static'), from: path.resolve(process.env.UNI_INPUT_DIR, 'static'),
to: 'static' to: 'static'
...@@ -170,13 +172,15 @@ if (process.env.UNI_USING_NATIVE) { ...@@ -170,13 +172,15 @@ if (process.env.UNI_USING_NATIVE) {
}])) }]))
} }
module.exports = function (entry) { module.exports = function () {
return { return {
target: 'node', // 激活 vue-loader 的 isServer 逻辑 target: 'node', // 激活 vue-loader 的 isServer 逻辑
mode: process.env.NODE_ENV, mode: process.env.NODE_ENV,
devtool: process.env.NODE_ENV === 'development' ? 'inline-source-map' : false, devtool: process.env.NODE_ENV === 'development' ? 'inline-source-map' : false,
watch: process.env.NODE_ENV === 'development', watch: process.env.NODE_ENV === 'development',
entry, entry () {
return process.UNI_NVUE_ENTRY
},
externals: { externals: {
'vue': 'Vue' 'vue': 'Vue'
}, },
......
...@@ -67,25 +67,26 @@ function addSubPackagesRequire (compilation) { ...@@ -67,25 +67,26 @@ function addSubPackagesRequire (compilation) {
class WebpackUniMPPlugin { class WebpackUniMPPlugin {
apply (compiler) { apply (compiler) {
compiler.hooks.emit.tapPromise('webpack-uni-mp-emit', compilation => { if (!process.env.UNI_USING_NATIVE) {
return new Promise((resolve, reject) => { compiler.hooks.emit.tapPromise('webpack-uni-mp-emit', compilation => {
addSubPackagesRequire(compilation) return new Promise((resolve, reject) => {
addSubPackagesRequire(compilation)
generateJson(compilation) generateJson(compilation)
// app.js,app.wxss // app.js,app.wxss
generateApp(compilation) generateApp(compilation)
.forEach(({ .forEach(({
file, file,
source source
}) => emitFile(file, source, compilation)) }) => emitFile(file, source, compilation))
generateComponent(compilation) generateComponent(compilation)
resolve() resolve()
})
}) })
}) }
compiler.hooks.invalid.tap('webpack-uni-mp-invalid', (fileName, changeTime) => { compiler.hooks.invalid.tap('webpack-uni-mp-invalid', (fileName, changeTime) => {
if ( if (
fileName && fileName &&
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册