gulp-sourcemaps保留中间文件

时间:2017-11-06 16:30:24

标签: javascript node.js source-maps gulp-sourcemaps

当我使用gulp-sourcemaps插件时,我通常会删除注释和内容,因此会使用sourcemap标头。这样可以更容易地在开发和暂存中在浏览器调试器中显示原始文件,然后在生产中将其删除。我们还尝试尽可能加载源图,主要是供应商库。

这在大多数情况下都可以正常工作。但是,中间文件似乎丢失了。我猜测loadMaps的{​​{1}}选项,它允许加载现有的地图,在获取地图时删除中间文件。对于大多数情况,这可能很好,因为原始文件存在,但是库通常只包括输出文件,其中添加了作为注释的地图,但不包括那些原始文件。这意味着我们无权访问原始文件,并且浏览器无权访问构建的库文件。

例如,sourcemaps.init()是用TypeScript编写的,然后在构建时输出到JavaScript。这意味着最终开发人员不必在他/她的构建过程中使用TypeScript进行编译,因为这已在angular-ui-router构建过程中完成。现在,可以在ui-router访问输出JavaScript文件,根据构建文件的源地图注释,原始TypeScript文件位于<server root>/node_modules/@uirouter/angularjs/release/angular-ui-router.js<server root>/node_modules/@uirouter/angularjs/node_modules/@uirouter/core/src文件夹中。

当我使用自己喜欢的工具将<server root>node_modules/@uirouter/angularjs/src文件包含到angular-ui-routervendor.js文件中时,它会将vendor.min.js地图捆绑到生成的angular-ui-router文件中,但不包括.map文件作为来源。这意味着我们无法看到该文件或TypeScript文件,这使得仅使用浏览器几乎不可能进行调试。更糟糕的是,我们得到的任何错误都会被源映射到TypeScript文件。我们没有TypeScript文件,因此我们无法查看,现在我们也不知道JavaScript在哪里出错!值得庆幸的是,<server root>/node_modules/@uirouter/angularjs/release/angular-ui-router.js并没有很多复杂的错误,它确实存在很多错误,但其他库并没有那么有用。

angular-ui-router否则,是否有一种简单的方法可以加载某些类似于Is there a way to include intermediate files as sources in the output sourcemap?的源图,而不是其他源图?

0 个答案:

没有答案