【发布时间】:2019-04-01 18:24:51
【问题描述】:
我试过了:
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")
})
但它不起作用。
我想在pages/index.html 中导入带有脚本标记的public/my-config.js,或者只导入import { config1, config2 } from '../public/my-config'。
虽然我可以使用 externals 在 webpack 中不包含模块,但使用 Vue.js 不太直观。
我必须在dist/ 上提供my-config.js,以便可以对其进行编辑。
【问题讨论】:
-
在 Vue CLI 项目中,
public目录包含 only copied 的文件,未由 webpack 处理,这似乎是您想要的。将其排除在处理之外是没有意义的,因为这应该已经完成了。你真的想从什么中排除文件? -
@tony19 是的。感谢您提供指向 Vue 文档的链接。我可以通过
vue inspect > output.js确认有CopyWebpackPlugin具有from: '/path/to/my_project/public', to: '/path/to/my_project/dist'和ignore: ['index.html', '.DS_Store']。我想要做的是不包含my-config.js文件,但有my-config.js.gitkeep文件并让用户通过复制文件cp my-config.js.gitkeep my-config.js创建他/她自己的my-config.js文件。我也将使用我自己的my-config.js文件。 -
如果我在
.gitignore中有整个dist/和public/my-config.js可能并不重要,但我想知道如何排除文件,好吧,我想具体public目录中的那些。