在使用 vue-cli3 build的时候,使用非子目录须要在 vue.config.js 中添加以下代码:html
module.exports = { baseUrl: process.env.NODE_ENV === 'production' ? '/dist/' : '/', }
可是build完后,放在nginx服务下,会看到以下报错,页面也显示 no-script 的内容vue
[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
网上找了不少,并无找到答案。后来发现 vue-router 是用了 history 模式,可是 nginx 并无添加相应的配置便会出现这个问题。因此,以下解决方案:
1.变动生产环境配置,使得支持 history 模式。这里只须要修改 nginx 的配置,把 404 指向 index.html 便可。
2.不在使用history模式nginx