在使用 vue-cli3 build的时候,使用非子目录需要在 vue.config.js 中添加如下代码:
module.exports = {
baseUrl: process.env.NODE_ENV === 'production' ? '/dist/' : '/',
}
【javascript|vue-cli3 使用子目录部署问题】但是build完后,放在nginx服务下,会看到如下报错,页面也显示 no-script 的内容
[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模式
推荐阅读
- 一个setTimeout问题小探索
- java系列|Vue —— axios、插槽
- 小程序|uni-app与uviewUI实现仿小米商城app(附源码)
- 明道云在网络服务行业中的应用场景
- Vue技术|关于Vue你不知道的那点事儿,Vue知识总结大全,让你彻底搞懂Vue
- javascript|事件循环、宏任务与微任务、Promise与 Async/Await以及常见面试题
- javascript|promise原理与async 及 await
- React|React UI组件库——如何快速实现antd的按需引入和自定义主题
- React|【React路由】编程式路由导航和withRouter的使用——push / replace