提交 e653e856 编写于 作者: Q qiang

feat(vue-cli-plugin-hbuilderx): nvue support webpack5

上级 e3800009
const fs = require('fs')
const path = require('path')
const webpack = require('webpack')
const {
getPlatformScss,
......@@ -20,27 +21,33 @@ const preprocessLoader = {
options: nvueCssPreprocessOptions
}
const options = {
sourceMap: false
}
const plugins = [
require('postcss-import')({
resolve (id, basedir, importOptions) {
if (id.startsWith('~@/')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))
} else if (id.startsWith('@/')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))
} else if (id.startsWith('/') && !id.startsWith('//')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))
}
return id
}
}),
require('@dcloudio/vue-cli-plugin-uni/packages/postcss')
]
if (webpack.version[0] > 4) {
options.postcssOptions = { plugins }
} else {
options.parser = require('postcss-comment')
options.plugins = plugins
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: false,
parser: require('postcss-comment'),
plugins: [
require('postcss-import')({
resolve (id, basedir, importOptions) {
if (id.startsWith('~@/')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))
} else if (id.startsWith('@/')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))
} else if (id.startsWith('/') && !id.startsWith('//')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))
}
return id
}
}),
require('@dcloudio/vue-cli-plugin-uni/packages/postcss')
]
}
options
}
// sass 全局变量
......@@ -143,4 +150,4 @@ module.exports = [{
}, {
test: /\.styl(us)?$/,
oneOf: createOneOf(stylusLoader)
}]
}]
......@@ -134,7 +134,7 @@ const rules = [{
babelrc: false
}
},
jsPreprocessorLoader
jsPreprocessorLoader
]
// exclude (modulePath) { // nvue js均提供babel,否则还得提供transpileDependencies配置
// return excludeModuleReg.test(modulePath) && modulePath.indexOf('@dcloudio') === -1
......@@ -208,7 +208,7 @@ if (process.env.UNI_USING_V3_NATIVE) {
return ''
}
}]))
} catch (e) {}
} catch (e) { }
}
if (process.env.UNI_USING_NATIVE || process.env.UNI_USING_V3_NATIVE) {
......@@ -305,7 +305,7 @@ try {
dir: process.env.UNI_INPUT_DIR
}))
}
} catch (e) {}
} catch (e) { }
module.exports = function () {
return {
......@@ -322,8 +322,7 @@ module.exports = function () {
performance: {
hints: false
},
optimization: {
namedModules: false,
optimization: Object.assign({
minimizer: [
new TerserPlugin({
terserOptions: {
......@@ -333,7 +332,7 @@ module.exports = function () {
}
})
]
},
}, webpack.version[0] > 4 ? {} : { namedModules: false }),
output: {
path: process.env.UNI_OUTPUT_DIR,
filename: '[name].js'
......@@ -377,7 +376,7 @@ module.exports = function () {
reasons: true,
errorDetails: true
},
node: {
node: webpack.version[0] > 4 ? false : {
global: false,
Buffer: false,
__filename: false,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册