【问题标题】:How to add TS files to launch vue3 application in prod如何添加 TS 文件以在 prod 中启动 vue3 应用程序
【发布时间】:2021-09-12 02:14:30
【问题描述】:

当前文件夹结构:

/appname/server.js
/appname/package.json

当前 package.json

"scripts": 
{
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "start": "node server.js",
},

我想使用 TS 编写 serve.js。我知道如何在一个典型的 TS 项目中做,但是当涉及 webpacks 时我不能这样做。如果我将 tsconfig 更新为 includeserve.ts js 文件不会出现在 dist 文件夹中。

想要的文件夹结构:

/appname/server.ts
/appname/package.json

需要的 package.json

"scripts": 
{
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "start": "node dist/server.js",
},

为了使这更加复杂,需要dist 文件夹来驱动应用程序,所以我宁愿不要乱用它,将 server.js 放在不同的文件夹中可能是更好的方法。

【问题讨论】:

    标签: javascript typescript vue.js vuejs3


    【解决方案1】:

    您可以使用ts-node 直接运行server.ts

    1. ts-node 安装为devDependency

      npm i -D ts-node
      
    2. 更新您的 NPM 脚本以使用 ts-node 而不是 node

      {
        "scripts": {
          "start": "ts-node server.ts"
        }
      }
      

    或者你可以用npx ts-node避免devDependency

    {
      "scripts": {
        "start": "npx ts-node server.ts"
      }
    }
    

    【讨论】:

    • 感谢您的回答。这个想法是在生产中而不是在开发中使用 serve.js。这个答案似乎是在回答如何在开发过程中完成。我弄错了吗?
    • 好的。为什么这个解决方案在生产中不可行?
    • 我认为它可以用于生产没有问题。您认为拥有自己的 tsconfig.js 文件是否可取?还是使用 vue 正在使用的默认值?
    • 如果构建选项相同,您可以为自己节省一个额外的配置。通常,我会将它们分开,因为您的应用程序的构建选项对于服务器脚本可能不是必需的,反之亦然。
    猜你喜欢
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2022-08-13
    • 2021-08-11
    • 2011-04-19
    相关资源
    最近更新 更多