vue-cli3 创建多页面应用,静态文件应该如何存放?

发布于 2022-09-12 04:32:56 字数 1567 浏览 13 评论 0

项目目录.png
如图,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩心态 2022-09-19 04:32:56

尝试了很久知道了。
在src同级下创建public文件夹,就跟vue-cli3本身的目录一样
vue.config.js中的不用改
因为route是采用history的模式
所以引入的方式是
<script src="/config.js"></script>
不能有前面的.,就可以了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文