diff --git a/packages/vue-cli-plugin-uni/lib/configure-webpack.js b/packages/vue-cli-plugin-uni/lib/configure-webpack.js index ef2ef090777b7a4358bdb770ac039ff63e21d6ac..ddab51ec53c0c959f600d7d6d4a274f7e7bc0e35 100644 --- a/packages/vue-cli-plugin-uni/lib/configure-webpack.js +++ b/packages/vue-cli-plugin-uni/lib/configure-webpack.js @@ -314,7 +314,8 @@ module.exports = function configureWebpack (platformOptions, manifestPlatformOpt assetFilter (assetFilename) { return !(/\.map$/.test(assetFilename)) && !(/vendor/.test(assetFilename)) } - } + }, + watchOptions: require('./util').getWatchOptions() }, platformWebpackConfig) } } diff --git a/packages/vue-cli-plugin-uni/lib/h5/index.js b/packages/vue-cli-plugin-uni/lib/h5/index.js index cb9904420160c1127d72bf1e8ccc2f1a37653358..2072a04d4fca01545daec95f79b952e683589a66 100644 --- a/packages/vue-cli-plugin-uni/lib/h5/index.js +++ b/packages/vue-cli-plugin-uni/lib/h5/index.js @@ -154,7 +154,10 @@ module.exports = { 'vue-style-loader': resolve('packages/h5-vue-style-loader') } }, - plugins + plugins, + devServer: { + watchOptions: require('../util').getWatchOptions() + } } }, chainWebpack (webpackConfig, vueOptions, api) { diff --git a/packages/vue-cli-plugin-uni/lib/util.js b/packages/vue-cli-plugin-uni/lib/util.js index 72091b88305ef0b0cfee9326a5260e4b0ca86b3b..56d2a15b298b827284b1c879316d457223fdb66c 100644 --- a/packages/vue-cli-plugin-uni/lib/util.js +++ b/packages/vue-cli-plugin-uni/lib/util.js @@ -1,3 +1,4 @@ +const path = require('path') let partialIdentifier = false module.exports = { getPartialIdentifier () { @@ -16,5 +17,17 @@ module.exports = { getAutomatorCode () { const automator = `@dcloudio/uni-${process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM}/dist/automator` return process.env.UNI_AUTOMATOR_WS_ENDPOINT ? `import '${automator}';` : '' + }, + getWatchOptions () { + return { + ignored: [ + /node_modules/, + path.resolve(process.env.UNI_INPUT_DIR, 'unpackage'), + path.resolve(process.env.UNI_INPUT_DIR, 'uniCloud'), + path.resolve(process.env.UNI_INPUT_DIR, 'unicloud'), + path.resolve(process.env.UNI_INPUT_DIR, 'cloudfunctions-aliyun'), + path.resolve(process.env.UNI_INPUT_DIR, 'cloudfunctions-tcb') + ] + } } }