如何使用 Parcel Bundler 将打字稿文件捆绑到单个 js 文件?

How to bundle typescript files to single js file using Parcel Bundler?

我正在使用非常基本的设置来测试 Parcel Bundler,但是在尝试将我所有的 Typescript 文件捆绑到一个 JS 文件中时,我 运行 遇到了错误。

tsconfig.json

{
    "compilerOptions": {
        "sourceMap": true,
        "strict": true,
        "noImplicitReturns": true,
        "noImplicitAny": true,
        "outFile" : "./dist/bundle.js",
        "module": "CommonJS",
        "strictPropertyInitialization": false,
        "moduleResolution": "node",
        "target": "es5",
        "allowJs": true,
    },
    "include": [
        "./src/**/*"
    ]
}

Error: Only 'amd' and 'system' modules are supported alongside --outFile

但是当我省略 outFile : "./dist/bundle.js 时,所有 Typescript 文件都会被编译为单独的 .js 个文件

像错误建议的那样将模块设置更改为 systemamd 没有任何意义。我不使用 SystemJS 或 AMD,所以这些会在浏览器中产生错误:

ReferenceError: Can't find variable: System

TypeError: undefined is not a function (AMD)

如何让 Parcel 将 TS 文件打包成一个 JS 文件?

您使用包裹的方式有误。使用parcel时,你应该使用单个入口(浏览器一个HTML或节点一个js)然后运行 parcel entry,parcel会自动输出你想要的。

根据问题的描述,我猜您正在使用 tsc,您应该将其与 parcel 一起使用。所以也不需要 outFile 选项。