如何关闭Angular 6 ng test的源代码映射?

30

我正在尝试在 Angular 6 的测试中关闭源代码映射。我知道 sourcemaps 开关已被删除,例如:ng test --sourcemaps=false

我已经尝试修改我的 tsconfig 文件:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  ...
  "sourceMap": false
},

如在 angular.json 文件中所引用的 test -> configuration 块:

"test": {
  ...
  "options": {
    ...
    "tsConfig": "src/tsconfig.spec.json",

源代码映射仍在生成中。


https://dev59.com/x1cO5IYBdhLWcg3wgBpo#46840229 - angularrocks.com
4个回答

57

您可以使用以下命令进行设置:

CLI v6.0.8 及以上版本 --source-map=false

CLI v6.x --sourceMap=false

CLI v1.x --sourcemaps=false


3
谢谢。Camel Case 和单数形式敏感! - ja6a
1
请在阅读了被接受的答案后添加“CLI v6.0.8及以上 --source-map=false”,以便来到这里且仅阅读被接受的答案的人能够使用。;-) - Andresch Serj

10

根据这个答案,Angular CLI会根据版本更改此参数:

CLI v6.0.8及以上版本
--source-map=false

CLI v6.0.x早期版本
--sourceMap=false

CLI v1.x
--sourcemaps=false

快捷方式ng test -sm=false可能也有效

如果您正在使用最新的CLI,上述方法都无效,您可以随时在https://github.com/angular/angular-cli/blob/master/docs/documentation/test.md中查看“选项”部分以获取最近的参数名称


4
为了变革和打破惯例。 - Francesco Pasa

3

Angular CLI v6.x将--source-map读作--sourceMap。所以对于我的CLI v6.0.8,--source-map和--sourceMap都可以使用。

前往package.json把"test":"ng test"改成"test":"ng test --source-map=false"来关闭sourcemaps。

请注意应该使用--source-map而不是--source-maps


2

对我来说,我正在使用 Angular 10,并能够在 angular.json 中为测试设置 sourceMap:

"test": {
  ...
  "options": {
    ...
    "tsConfig": "src/tsconfig.spec.json",
    "sourceMap": false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接