Vue Cli 3 为不同类型的文件构建自定义目录
Vue Cli 3 build custom directory for different type of files
我是使用 vue 构建网络应用程序的新手。
默认情况下,使用 npm run build
,它将构建以下结构:
但我希望构建如下:
那么,如何将 vue.config.js
写成我想要的输出?
使用 this GitHub issue as an example,您应该可以通过在您的配置中添加类似的内容来实现此目的...
// vue.config.js
module.exports = {
chainWebpack: config => {
config.module.rule('images').use('url-loader')
.loader('file-loader') // replaces the url-loader
.tap(options => Object.assign(options, {
name: 'images/register/[name].[hash:8].[ext]'
}))
config.module.rule('svg').use('file-loader')
.tap(options => Object.assign(options, {
name: 'images/register/[name].[hash:8].[ext]'
}))
},
css: {
extract: {
filename: 'css/register/[name].[hash:8].css',
chunkFilename: 'css/register/[name].[hash:8].css'
}
},
configureWebpack: {
output: {
filename: 'js/register/[name].[hash:8].js',
chunkFilename: 'js/register/[name].[hash:8].js'
}
}
}
有关更多信息和示例,请参阅 https://cli.vuejs.org/config/#vue-config-js。
我是使用 vue 构建网络应用程序的新手。
默认情况下,使用 npm run build
,它将构建以下结构:
但我希望构建如下:
那么,如何将 vue.config.js
写成我想要的输出?
使用 this GitHub issue as an example,您应该可以通过在您的配置中添加类似的内容来实现此目的...
// vue.config.js
module.exports = {
chainWebpack: config => {
config.module.rule('images').use('url-loader')
.loader('file-loader') // replaces the url-loader
.tap(options => Object.assign(options, {
name: 'images/register/[name].[hash:8].[ext]'
}))
config.module.rule('svg').use('file-loader')
.tap(options => Object.assign(options, {
name: 'images/register/[name].[hash:8].[ext]'
}))
},
css: {
extract: {
filename: 'css/register/[name].[hash:8].css',
chunkFilename: 'css/register/[name].[hash:8].css'
}
},
configureWebpack: {
output: {
filename: 'js/register/[name].[hash:8].js',
chunkFilename: 'js/register/[name].[hash:8].js'
}
}
}
有关更多信息和示例,请参阅 https://cli.vuejs.org/config/#vue-config-js。