如何将Typescript模块打包到一个js模块中

时间:2017-09-16 23:29:20

标签: typescript transpiler

我目前的情况是我有一个由许多Typescript文件组成的Node包,每个文件都转换为一个JavaScript文件。

我想要实现的是将所有这些JavaScript文件打包到一个文件中,该文件应该是以package.json文件中的包名命名的单个模块,使用正确的输入文件,可以在另一个文件中引用项目

这是我要导出的包的tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "amd",
        "moduleResolution": "node",
        "noImplicitAny": false,
        "noEmitOnError": true,
        "removeComments": true,
        "sourceMap": false,
        "experimentalDecorators": true,
        "outFile": "dist/bundle.js"
    },
    "include": [
        "index.ts",
        "src/**/*.ts"
    ]
}

这是项目主文件夹中index.ts的一个例子:

export { BasePrinter, PrintResult, ResultType } from './src/base-printer';
export { PrinterOne } from './src/printer-one';
export { PrinterTwo } from './src/printer-two';

每行导出一个包含在相关路径中的类。

我想要实现的是将本地文件安装在另一个导入器Node项目中,如下所示:

import { PrinterOne } from 'exporter';

在导入程序包中使用这行代码.json

"dependencies": {
    "exporter": "file:../packages/exporter/exporter", ...
}

无论如何,如果我尝试通过Node执行引用导出项目的导入器项目JavaScript文件中的任何代码,我会收到此错误:

Error: Cannot find module 'exporter'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\Massimiliano\Projects\node-packaging\importer\index.js:3:18)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

有没有办法获得一个允许我按照上面描述的方式导入Typescript类的javascript包文件?

谢谢!

0 个答案:

没有答案