在 typescript 输出中包含 NPM 模块 (--module System.js)

Include NPM modules in typescript output (--module System.js)

我正在将一个项目从 ES6 转换为 Typescript。 TSConfig 文件设置以下选项:

{
    "compilerOptions": {
        "target": "es5",
        "module": "system",
        "out": "qqq.js",
        "allowJs": true,
}

在我的代码中,我导入了 node_modules 中的 NPM 模块。这也是我在使用 Typescript 之前所做的。

import React from 'react'; // This is an NPM module.
// . . .

运行 typescript 编译器生成了一个几乎 可用的 *.js 包,但它缺少所有 NPM 模块。

如何配置 Typescript 在构建 System.js 包时包含我的所有 NPM 依赖项(不仅仅是本地文件)?

TypeScript 不会为您捆绑 NPM 依赖项,您需要使用 SystemJS Builder 之类的东西进行捆绑。

您必须自己创建部署包。供您查看的两个有用示例是:

Angular2 Seed

这是开始寻找解决方案的好地方。不要为它用于angular2而烦恼。它仍然完全符合您的要求 - 编译 TS 文件并准备包含所有引用 node_modules 的捆绑包。

如果您想尝试使用 webpack 创建捆绑包,欢迎您查看这个相同的示例:

WebPack angular2 starter

希望对您有所帮助。