首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用browserify后保留原始typescript源代码映射

使用browserify后保留原始typescript源代码映射
EN

Stack Overflow用户
提问于 2014-05-04 14:02:23
回答 4查看 7.1K关注 0票数 21

背景:我正在将两个相关的TypeScript文件编译成js,这也会使用TSC1.0生成源图(每个文件一个源图)

我先使用-m commonjs,然后使用browserify生成单个bundle.js

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

传递--debug似乎也没有起到作用。

我有一种感觉这个问题:https://github.com/substack/node-browserify/issues/325有点相关,但我不知道这个问题是如何解决的。

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

底线,我想合并的两个js文件,但“合并”的js到ts源地图使用browserify。这有可能吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-29 00:53:41

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

代码语言:javascript
复制
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);
});
票数 9
EN

Stack Overflow用户

发布于 2014-06-22 06:28:45

tsify是一个browserify插件,它更好,可以取代typescriptifier。

npm install tsify browserify watchify

您可以像这样使用tsify:

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

请注意,这支持browserify --debug开关,不需要额外的技巧。因此您也可以将其与watchify一起使用,如下所示:

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

票数 19
EN

Stack Overflow用户

发布于 2015-11-15 00:18:14

以下是我的工作解决方案:

代码语言:javascript
复制
var settings = {
  projectName : "test"
};    

gulp.task("bundle", function() {

  var mainTsFilePath = "src/main.ts";
  var outputFolder   = "bundle/src/";
  var outputFileName = settings.projectName + ".min.js";
  var pkg            = require("./package.json");

  var banner = [
    "/**",
    " * <%= pkg.name %> v.<%= pkg.version %> - <%= pkg.description %>",
    " * Copyright (c) 2015 <%= pkg.author %>",
    " * <%= pkg.license %>",
    " */", ""
  ].join("\n");

  var bundler = browserify({
    debug: true,
    standalone : settings.projectName
  });

  // TS compiler options are in tsconfig.json file
  return bundler.add(mainTsFilePath)
                .plugin(tsify)
                .bundle()
                .pipe(source(outputFileName))
                .pipe(buffer())
                .pipe(sourcemaps.init({ loadMaps: true }))
                .pipe(uglify())
                .pipe(header(banner, { pkg : pkg } ))
                .pipe(sourcemaps.write('./'))
                .pipe(gulp.dest(outputFolder));
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23453160

复制
相关文章

相似问题

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