Sim*_*yll 6 javascript node.js express vue.js nuxt.js
首先,您拥有一个与其他网站一样的主要Nuxt网站。然后,将我的模块添加到您的项目中。然后,我的模块将一个子域“ admin.example.com”添加到您的项目中,该子域是一个完全充实的基于Nuxt的网站,但完全在您的项目流程中运行,因此不必制作两个必须分别启动的网站项目,我的想法是,我可以先创建一个网站项目,然后创建一个模块项目,再添加另一个网站,然后将三个项目变成两个。
module.js
this.addServerMiddleware(vhost('admin.website.com', adminApp));
Run Code Online (Sandbox Code Playgroud)
adminApp.js
const {Nuxt, Builder} = require('nuxt');
const config = require('../admin/nuxt.config');
config.dev = true;
const nuxt = new Nuxt(config);
if (nuxt.options.dev) {
new Builder(nuxt).build()
.catch(function(error) {
console.log(error);
})
}
module.exports = nuxt.render;
Run Code Online (Sandbox Code Playgroud)
管理网站中nuxt.config.js的一部分
// __dirname leads to my modules directory
// process.cwd() leads to the main websites folder
module.exports = {
mode: 'universal',
srcDir: __dirname,
rootDir: __dirname,
modulesDir: process.cwd(),
Run Code Online (Sandbox Code Playgroud)
每当我转到“ admin.website.com”时,都会显示以下消息:
我已经尝试了各种更改和调整,但是似乎没有任何效果。据我所知,这可能与以下事实有关:A)网站建立在找不到找到的资源文件的某个地方,或者B)我没有向意大利面条怪物祈祷过。
我尝试导出adminApp为使用的Express应用程序,app.use(nuxt.render)但会导致相同的错误,因此我确定这不是问题。我已经尝试过使用Express应用程序,api.website.com并且效果很好,所以我知道我很喜欢|-| 接近使所有这些工作。这样添加子域确实可以工作,并且每个子域都可以是Express应用程序,但是由于某种原因,Nuxt在以这种方式使用时找不到任何资源。根据https://nuxtjs.org/api/nuxt-render/的 nuxt.render(req, res)描述,您可以看到take req和resas参数,这意味着我不需要通过Express应用程序使用它,serverMiddleware它已经是Express应用程序。
有什么想法吗?
我之前在通过无服务器提供应用程序时遇到过此错误。我认为您需要在 nuxt.config.js 中显式设置两个应用程序的 publicPath 或 buildDir 才能使设置工作。您的问题可能是所有构建资产都在同一文件夹中生成,导致其中一个应用程序找不到构建资产。buildDir 属性在 nuxt.config.js 上设置,而 publicPath 设置在 build 属性上定义。
更多信息请点击这里:
https://nuxtjs.org/api/configuration-builddir
https://nuxtjs.org/api/configuration-build#publicpath
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |