背景:我正在将两个相关的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。这有可能吗?
发布于 2014-05-29 00:53:41
通过使用minifyify的browserify插件,我相信您可以将TypeScript与Browserify结合使用,并保留源地图。编译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);
});
发布于 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
发布于 2015-11-15 00:18:14
以下是我的工作解决方案:
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));
});
https://stackoverflow.com/questions/23453160
复制相似问题