我想将静态nuxt.js应用程序(用nuxt generate
构建)部署到Web服务器的子目录中。默认情况下,nuxt将生成的文件放在dist
目录中:
如果我在dist
文件夹的父目录上启动网络服务器,并使用以下命令打开页面:
http://localhost:34360/dist/
该站点(未成功)尝试从域根目录中加载脚本文件:
我尝试在nuxt配置中设置publicPath
属性:
build: {
publicPath: '/dist/'
}
该应用程序编译为:
现在,nuxt将脚本文件下移一层(/ dist / dist),然后再次在根目录下进行搜索(/ dist),因此仍然找不到文件
无论我将其放在服务器上的哪个目录中,如何生成网站,以便加载脚本和资产并将其自包含?
该问题已得到on GitHub的保护,但建议的提示(使用publicPath)无效,如上所示。
旁注:我不想指定publicPath绝对值(即http://localhost:8080/dist
),它可以工作,但会带来新的问题。
答案 0 :(得分:4)
要完成@Aldarund 的回答,我使用:
export default {
[…] // some code
router: {
base:
process.env.NODE_ENV === "development" ? process.env.BASE_URL : "/<subfolder>/"
} // where <subfolder> is the subfolder!
};
答案 1 :(得分:2)
您需要router/base
router: {
base: '/dist/'
}