From 58cb0028b49b93e8569824854dedc69ccd7ef1d2 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 17 Jan 2020 19:15:44 +0800 Subject: [PATCH] fix(v3): remove style loader (service) --- packages/vue-cli-plugin-uni/lib/app-plus/index.js | 15 +++++++++++++++ .../webpack-uni-app-loader/service/style.js | 6 ++++++ .../packages/webpack-uni-app-loader/view/main.js | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/service/style.js diff --git a/packages/vue-cli-plugin-uni/lib/app-plus/index.js b/packages/vue-cli-plugin-uni/lib/app-plus/index.js index 2be242be2..ae0f24351 100644 --- a/packages/vue-cli-plugin-uni/lib/app-plus/index.js +++ b/packages/vue-cli-plugin-uni/lib/app-plus/index.js @@ -110,6 +110,15 @@ const v3 = { }] }) + if (isAppService) { + rules.push({ + test: [/\.css$/, /\.p(ost)?css$/, /\.scss$/, /\.sass$/, /\.less$/, /\.styl(us)?$/], + use: [{ + loader: path.resolve(__dirname, '../../packages/webpack-uni-app-loader/service/style.js') + }] + }) + } + const entry = {} if (isAppService) { entry['app-service'] = path.resolve(process.env.UNI_INPUT_DIR, getMainEntry()) @@ -281,6 +290,12 @@ const v3 = { } } + if (isAppService) { // service 层移除 css 相关 + ['css', 'postcss', 'scss', 'sass', 'less', 'stylus'].forEach(cssLang => { + webpackConfig.module.rules.delete(cssLang) + }) + } + webpackConfig.plugins.delete('hmr') webpackConfig.plugins.delete('html') webpackConfig.plugins.delete('copy') diff --git a/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/service/style.js b/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/service/style.js new file mode 100644 index 000000000..9e0897e5b --- /dev/null +++ b/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/service/style.js @@ -0,0 +1,6 @@ +module.exports = function(source, map) { + console.warn( + `App平台 v3 模式暂不支持在 js 文件中引用"${this._module && this._module.rawRequest || this.resourcePath}"` + ) + return '' +} diff --git a/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/main.js b/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/main.js index a2ee5fe0c..1e1abc1d3 100644 --- a/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/main.js +++ b/packages/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/main.js @@ -103,7 +103,7 @@ module.exports = function(source, map) { import 'uni-pages?${JSON.stringify({type:'view'})}' function initView(){ ${getStylesCode(this)} - injectStyles() + typeof injectStyles ==='function' && injectStyles() ${getDefineComponents(parseComponents(source, traverse)).join('\n')} UniViewJSBridge.publishHandler('webviewReady') } -- GitLab