【发布时间】:2019-03-01 03:48:07
【问题描述】:
angular.json 仅提供打开/关闭源映射生成的选项,但默认情况下它位于单独的文件中。
tsconfig.json 也提供了 inlineSources 选项,但它被 angular-cli 忽略了。
有没有办法告诉 angular-cli 在 .js 中编写源映射?
【问题讨论】:
angular.json 仅提供打开/关闭源映射生成的选项,但默认情况下它位于单独的文件中。
tsconfig.json 也提供了 inlineSources 选项,但它被 angular-cli 忽略了。
有没有办法告诉 angular-cli 在 .js 中编写源映射?
【问题讨论】:
谁可能关心,这是我实现的方法,以在 Android 设备上启用源映射支持进行调试
npx ng add ngx-build-plus安装ngx-build-plusbuild-customization-plugin.js,并在该文件中添加如下内容var merge = require('webpack-merge');
exports.default = {
config: function (cfg) {
const strategy = merge.strategy({
'devtool': 'replace',
});
return strategy(cfg, {
devtool: 'inline-source-map'
});
}
}
ng build --eval-source-map --plugin ~build-customization-plugin.js 以使用源映射构建项目以在Android 设备上进行调试这是一种比我在上一个端口中描述的更改 angular/cli 源更好的方法 :)
【讨论】:
ngx-build-plus 不适用于最新的 Angular。错误:Cannot read property 'architect' of undefined。我无法理解 Angular CLI 开发人员决定反对这个选项。因为它很容易实现。只是可选 webpack.config.js 的一个选项。如果没有这个官方选项,我们必须依赖第三个库。在这种情况下,它不起作用。痛...
不支持。为了实现这一点,我修补了 angular cli 源代码(我有 @angular/cli 版本 7.0.0)以使用 inline-source-maps webpack 选项。为此,我在 node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js 文件中更改了一行
sourcemaps = 'eval';
到
sourcemaps = 'inline-source-map';
【讨论】:
使用 Angular 12,步骤与提到的@alex-ryltsov 相同,但有一些变化:
npx ng add ngx-build-plus
build-customization-plugin.js:const { merge } = require("webpack-merge");
exports.default = {
config: function (cfg) {
return merge(cfg, {
devtool: "inline-source-map",
});
},
};
ng build --plugin ~build-customization-plugin.js【讨论】: