使用browserify后保留原始打字稿源地图

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (88)

背景:我正在编译2个依赖的TypeScript文件给js,它也产生源映射(每个文件一个源映射),使用tsc 1.0

我正在使用-m commonjs,然后使用browserify生成一个bundle.js

但是我注意到,我在捆绑包中获得了两次原始源映射引用,这似乎不起作用。

-debug似乎也无法做到这一点。

我有一个感觉这个问题:https : //github.com/substack/node-browserify/issues/325有点相关,但我无法弄清楚问题是如何解决的。

也建议使用https://github.com/substack/browser-pack,但是我又不完全理解如何使用它,它是对browserify的替代吗?

底线,我想合并2个js文件,但使用browserify将js“合并”为ts源地图。那可能吗?

提问于
用户回答回答于

使用minifyify browserify插件我相信你可以在Browserify中使用TypeScript并保留源地图。在编译TypeScript文件后,您应该能够通过使用minifyify插件的browserify传递“entry”文件(通过commonjs语法导入另一个文件的文件)。

var browserify = require('browserify'),
    bundler = new browserify();

bundler.add('entry.js');
bundler.plugin('minifyify', {map: 'bundle.js.map'});
bundler.bundle({debug: true}, function (err, src, map) {
  if (err) console.log(err);
  fs.writeFileSync('bundle.js', src);
  fs.writeFileSync('bundle.js.map', map);
});
用户回答回答于

tsify是一个更好的browserify插件,可以替代例如类型化文字处理器

npm install tsify browserify watchify

你用这样的tsify:

browserify src/index.ts -p tsify --debug -o build/index.js

请注意,这支持browserify --debug开关,不需要额外的技巧。所以你也可以像这样使用它:

watchify src/index.ts -p tsify --debug -o build/index.js

扫码关注云+社区

领取腾讯云代金券