当我使用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-router
或vendor.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?
的源图,而不是其他源图?