我尝试过:
chainWebpack: config => {
config.merge({
module: {
rules: [{
test: /\.jsx?$/,
exclude: {
exclude: [path.resolve(__dirname, "public/my-config.js")]
}
}]
}
})
}
或
config.module.rule('js')
.exclude({
exclude: path.resolve(__dirname, "public/my-config.js")
})
但这不起作用。
我想导入public/my-config.js
中带有脚本标签的pages/index.html
或仅导入import { config1, config2 } from '../public/my-config'
。
虽然我可以使用externals
在webpack中不包含模块,但是使用Vue.js不太直观。
我必须在my-config.js
提供dist/
,以便可以对其进行编辑。
答案 0 :(得分:2)
参考:https://github.com/vuejs/vue-cli/issues/2231#issuecomment-413441633
尝试一下,简单得多:
module.exports = {
chainWebpack: config => {
config.plugin('copy').tap(([options]) => {
options[0].ignore.push('api/**/*')
return [options]
})
}
}
答案 1 :(得分:0)
参考:
我在vue.config.js
中写的内容:
const path = require("path");
module.exports = {
baseUrl: ".",
chainWebpack: config => {
config.plugin('copy').tap((args) => [[
{
from: '/path/to/my_project/public',
to: '/path/to/my_project/dist',
toType: 'dir',
ignore: [
'index.html',
'.DS_Store',
'config.data.js'
]
}
]]
);
}
}
我使用了$ vue inspect > output.js
,然后检查了output.js
文件中config.plugin('copy')
使用了哪些参数,而该参数恰好是new CopyWebpackPlugin
的实例。