首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在构建typescript时包含npm依赖项

如何在构建typescript时包含npm依赖项
EN

Stack Overflow用户
提问于 2021-09-15 17:16:32
回答 1查看 65关注 0票数 0

执行tsc时,所有内容都会编译到我的dist文件夹中。但是如何将npm依赖项也包含到dist文件夹中呢?

这是我的tsconfig

代码语言:javascript
复制
{
  "compilerOptions": {
    "target": "es2017",
    "module": "commonjs",
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
  },
  "exclude":[
    "./redis",
    "./mongodb"
  ]
}

package.json构建脚本如下所示:

"build": "tsc"

当我将dist文件夹移出项目文件夹并尝试

node dist/index.js我缺少所需的依赖项。

例如:

代码语言:javascript
复制
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'bullmq'

我尝试将整个node_modules文件夹复制到dist,但随后收到以下错误:

代码语言:javascript
复制
ReferenceError: TextEncoder is not defined
    at Object.<anonymous> (/var/www/vismasync/node_modules/whatwg-url/dist/encoding.js:2:21)

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-09-15 17:23:02

这不是特定于typescript的问题,而是节点应用程序如何工作的问题。对于具有依赖关系的节点应用程序,所有依赖关系都存储在node_modules下。这就是为什么需要运行npm i来部署项目的原因。

对于你的问题,听起来你需要的是一个捆绑器,顾名思义,它将包括你的代码依赖在内的所有东西捆绑到一个巨大的js文件中。然后,您可以在不使用node_modules的情况下使用此js文件。在这种情况下,可以查看rollup或webpack。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69197362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档