【问题标题】:Hosting npm run build (Nuxt) and puting it on hosting shows folder list托管 npm run build (Nuxt) 并将其放在托管显示文件夹列表
【发布时间】:2021-08-11 13:28:01
【问题描述】:

我正在使用 VueJS 和 Nuxt 构建自己的网站。我遇到了一个新问题。

当我运行npm run build 然后运行npm run start 时,一切正常。一切都已加载并准备就绪。每个人在运行npm run build 时都会得到一个/dist 文件夹,但我没有。我想如果npm run start 没有它也能正常工作,我就不需要它。

刚刚检查了我的项目中没有index.html,但是npm run start 是如何工作的?

当我将构建的网站上传到我的 Bluehost 时。它只向我显示文件夹列表,而不是正在运行的网站。我应该来自bluehost的npm run start?我不知道下一步该做什么。图片如下。

npm run generate 是上传网站的唯一正常方式吗?

【问题讨论】:

    标签: node.js vue.js nuxt.js npm-start bluehost


    【解决方案1】:

    第一件事 .. npm run start/build/dev 等只是在脚本部分下的 package.json 中指定的 NPM 脚本。它们可以是任何东西,但根据 Nuxt 文档,这是默认设置:

      "scripts": {
        "dev": "nuxt",
        "build": "nuxt build",
        "generate": "nuxt generate",
        "start": "nuxt start"
      }
    

    所以这就是你执行这些操作时实际运行的内容。

    也就是说,我认为您感到困惑的是有两种方式来托管这些项目。作为服务器,或作为静态站点。

    当您在本地运行它时,您将它作为服务器运行,这就是为什么您可以在浏览器中浏览到 localhost 并查看您正在处理的内容,这就是没有 index.html 的原因。

    这样做很好,然后静态托管它。这就是构建部分的用武之地。通常 webpack 会将所有内容编译成一堆普通的 html 和其他任何浏览器都可以读取的资产(无需主动提供它们(就像您的开发服务器在本地执行的操作一样)。

    尝试: 在 nuxt.config.js 中设置目标:'static'

    export default {
      target: 'static' // default is 'server'
    }
    

    然后运行你的:(实际上是运行 nuxt generate)

    npm run generate
    

    另一种选择是将内容作为运行服务器在线托管,您可以在 Heroku、Digital Ocean 或 AWS 等托管服务器上执行此操作。您通常会制作一个构建脚本来设置和服务它,就像您的本地开发服务器是,但在线。但通常静态托管东西很好。

    希望能对这种情况有所了解。如果您仍然遇到问题,请写评论。

    【讨论】:

      【解决方案2】:

      TLDR:generatebuild 都很好,但它们针对不同的结果。
      您需要分别设置 target: statictarget: server 才能使其工作。


      这是一个很好的答案,可以解释构建应用程序的一些差异和各种方法(npm run buildnpm run generate):https://stackoverflow.com/a/63638062/8816585

      Heretarget: static受益的官方文章。

      如果可以的话,我建议也使用全静态。它会更便宜,并且可以轻松地通过 CDN 提供服务(例如在 Netlify 上),因此性能更高,故障点更少。

      当然,也有一些例外。如果您的应用程序受密码保护,包含大量私人内容,您可能会发现静态构建没有任何好处。如果可以显示内容并且您可以提前知道内容(例如博客),请保持静态!

      PS:您看不到任何/dist 目录可能是因为它在您的.gitignore 中被忽略了(生成 Nuxt 项目时的默认设置)。


      文档中的相关页面:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-01
        • 1970-01-01
        • 2023-04-07
        • 2018-06-05
        • 2019-09-01
        • 1970-01-01
        相关资源
        最近更新 更多