大约8-9个月前,我使用vue-cli创建了一个基于Vue.js的Webpack项目,并能够修改/build/webpack.dev.conf.js
,以便在运行npm run build
时将“已编译”的index.html
和JavaScript / CSS文件放入我的Flask应用程序中的正确文件夹。
现在我正在向别人展示如何创建Vue.js / Flask应用程序,我发现vue-cli的工作方式似乎已经改变,以至于我不再可以访问/build/
文件夹了。
我阅读了文档并且他们似乎说现在它抽象出了Webpack配置(“由于@vue/cli-service抽象出了webpack配置...”),但是如果我想查看Webpack的配置选项,我可以使用vue inspect > output.js
。我这样做了,但是我没有看到我八个月前更改过的条目:
/build/webpack.prod.conf.js
:
new HtmlWebpackPlugin({
filename: process.env.NODE_ENV === 'testing'
- ? 'index.html'
+ ? 'app.html'
: config.build.index,
- template: 'index.html',
+ template: 'app.html',
/build/webpack.dev.conf.js
:
new HtmlWebpackPlugin({
- filename: 'index.html',
- template: 'index.html',
+ filename: 'app.html',
+ template: 'app.html',
/config/index.js
:
module.exports = {
build: {
env: require('./prod.env'),
- index: path.resolve(__dirname, '../dist/index.html'),
- assetsRoot: path.resolve(__dirname, '../dist'),
- assetsSubDirectory: 'static',
- assetsPublicPath: '/',
+ index: path.resolve(__dirname, '../../server/templates/app.html'),
+ assetsRoot: path.resolve(__dirname, '../../server/static/app'),
+ assetsSubDirectory: '',
+ assetsPublicPath: '/static/app',
看起来,vue build
命令行命令可以接受一个参数,允许您指定输出目录,但是我需要指定两个不同的目录:一个用于 HTML 文件(应该位于 Flask 的 /templates/
文件夹中),另一个用于 JavaScript / CSS 代码(应该位于 Flask 的 /static/
文件夹中)。
output.js
文件中具体要寻找什么?我刚刚运行了这个命令,发现有entry
和output
属性,它们指向你想要更改的目录。你是否尝试按照文档所说,在vue.config.js
中覆盖它们呢? - oniondomesnpm run
命令中是否可以传递参数吗?例如:npm run build --output-path /my-path
? - DAG