我正在将一系列小型 Vue.js 应用程序嵌入到现有的服务器渲染网站中。因为应用程序中有很多共享组件,所以我使用了pages
中的选项vue.config.js
将每个应用程序拆分为自己的块。
页面的 HTML 由后端应用程序处理,包含从 Vue CLI 生成的已编译 JS 资产也是如此。
我不太清楚的是如何阻止 Vue 生成.html
文件。
我的vue.config.js
文件看起来像这样......
module.exports = {
outputDir: 'path/to/the/assets/directory',
productionSourceMap: false,
filenameHashing: false,
css: {
extract: {
filename: '[name].css',
},
},
pages: {
'app-one': {
entry: 'src/app-one.ts',
},
'app-two': {
entry: 'src/app-two.ts',
},
},
configureWebpack: {
optimization: {
splitChunks: false,
},
output: {
filename: '[name].js',
},
},
chainWebpack: config => {
config.plugins.delete('html');
config.plugins.delete('preload');
config.plugins.delete('prefetch');
},
};
当pages
不包含该选项并使用默认入口点时main.ts
。HTML 文件不包含在输出中。输出看起来像这样......
/asset/directory/
|- app.css
|- app.js
但是,一旦我添加了pages
选项,就会生成 HTML 文件。输出看起来像这样......
/asset/directory/
|- app-one.css
|- app-one.html
|- app-one.js
|- app-two.css
|- app-two.html
|- app-two.js
阻止 Vue 生成这些 HTML 文件的正确方法是什么?