【问题标题】:How to change entrypoint on Nuxt build?如何更改 Nuxt 构建的入口点?
【发布时间】:2021-05-21 22:22:32
【问题描述】:

我通过 CLI 创建了一个 Nuxt 应用程序,并选择了使用 Node.js 作为后端服务器的 SSR 应用程序。在我的服务器上,Passenger 配置为从 app.js 文件运行快速应用程序,我无权更改它。 Nuxts 入口点默认为server.js。我试图在 nuxt 文档上找到一些东西,但我找不到任何有用的东西。

我在这个网站上搜索:https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-build

我还认为这些 Js 文件在 ES6 模块格式化系统中,但我还需要 CommonJS 来运行这个带有乘客的应用程序。有没有办法通过 .babelrc 或 webpack 配置来改变这个??

【问题讨论】:

  • 它似乎是硬编码的:github.com/nuxt/nuxt.js/blob/…
  • 是的,但这是在 webpack 上,你认为我可以如何更改它?
  • 我认为在输出中创建符号链接的最佳方式是从“app.js”到“server.js”的旧版本
  • 你能粘贴这个作为答案吗?

标签: javascript webpack babeljs nuxt.js


【解决方案1】:

Webpack 的输出名称在 Nuxt source code 中硬编码。
所以不能通过配置更新。

目前最好的方法是在你的输出文件夹中创建一个从“app.js”到“server.js”的符号链接(也许在“postbuild”脚本上?)

【讨论】:

    【解决方案2】:

    感谢 Nicolas Pennec 指出我的答案。

    当我们想通过Passenger运行nuxt.js构建的应用程序时,我们实际上不需要重写webpack等。

    我们需要构建我们的 nuxt 应用程序:

    yarn build
    

    该操作的结果是新创建的 .next 文件夹,剩下要做的就是我们需要使用 npm run start 启动此文件夹,但使用Passenger,我们无法通过命令执行此操作。

    在我们托管的根文件夹中,例如public_nodejs创建app.js文件(我服务器上的Passenger要求主文件叫app.js)

    文件的结构现在看起来像:

    .next
    app.js
    package.json
    

    在 app.js 里面简单写:

    require("@nuxt/cli").run(["start"])
    

    安装所有依赖项,您的 nuxt js 应用将通过Passenger 运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 2021-05-08
      • 2016-02-28
      相关资源
      最近更新 更多