vue-cli3 创建多页面应用,静态文件应该如何存放?
如图,admin和user分别是两个多页面
vue.config.js的配置如下
const isDev = process.env.NODE_ENV !== 'production'
const path = require('path')
const resolve = dir => {
return path.join(__dirname, dir)
}
const publicPath = '/'
const PAGES = {
user: {
entry: 'src/pages/user/main.js',
template: 'src/pages/user/public/index.html',
filename: 'index.html',
title: 'IVTSP',
chunks: ['chunk-vendors', 'chunk-common', 'user']
},
admin: {
entry: 'src/pages/admin/main.js',
template: 'src/pages/admin/public/operation.html',
filename: 'operation.html',
title: 'IVTSP-OPT',
chunks: ['chunk-vendors', 'chunk-common', 'admin']
}
}
let pages = {}
let dist = 'dist'
const pageName = process.argv[3]
if (isDev || !pageName) {
pages = PAGES
} else {
pages[pageName] = PAGES[pageName]
dist = `${dist}_${pageName}`
}
module.exports = {
publicPath,
outputDir: dist,
pages,
/* webpack链式操作 */
chainWebpack: config => {
config.resolve.alias
.set('@', resolve('src'))
.set('_idx', resolve('src/pages/user'))
.set('_opt', resolve('src/pages/admin'))
},
devServer: {
historyApiFallback: {
rewrites: [{
from: new RegExp(`${publicPath}operation`),
to: `${publicPath}operation.html`
}]
},
open: true
}
}
想引入一个不参与打包的config.js,现在是放在src\pages\user\public\config.js
路径,然后在src\pages\user\public\index.html
中直接引入,但是发现定义的全局变量没有生效,引入的config.js也是报错404,求大佬指点!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试了很久知道了。
在src同级下创建public文件夹,就跟vue-cli3本身的目录一样
vue.config.js中的不用改
因为route是采用
history
的模式所以引入的方式是
<script src="/config.js"></script>
不能有前面的
.
,就可以了