tslint rxjs-tslint-rules 在编译的程序中找不到'/users/whisher/projects/my/src/rxjs-imports.ts'。是进口的吗?

Posted

技术标签:

【中文标题】tslint rxjs-tslint-rules 在编译的程序中找不到\'/users/whisher/projects/my/src/rxjs-imports.ts\'。是进口的吗?【英文标题】:tslint rxjs-tslint-rules Cannot find '/users/whisher/projects/my/src/rxjs-imports.ts' in the compiled program. Has it been imported?tslint rxjs-tslint-rules 在编译的程序中找不到'/users/whisher/projects/my/src/rxjs-imports.ts'。是进口的吗? 【发布时间】:2018-04-04 10:35:49 【问题描述】:

我已经添加了这个 linter rxjs-tslint-rules 像我的 tslint.json 一样

"extends": [
    "rxjs-tslint-rules"
  ],
  "rules": 
    "rxjs-add": 
      "options": [
        "allowElsewhere": false,
        "allowUnused": false,
        "file": "./src/rxjs-imports.ts"
    ],
    "severity": "error"
  ,

当然我已经在 src 文件夹中添加了 rxjs-imports.ts 文件

import 'rxjs/add/operator/map';

比在我的 main.ts 中

import './rxjs-imports';

但我明白了

在编译的程序中找不到“/users/whisher/projects/my/src/rxjs-imports.ts”。导入了吗?

我该如何解决?

还是一个错误?

更新

我刚刚看到了全新的 5.5 版本 有可出租的运算符,所以 rxjs-imports 文件 现在完全没用了。

https://github.com/ReactiveX/rxjs/blob/master/doc/lettable-operators.md

【问题讨论】:

GitHub 中有一些相关的 (now closed) 问题。很可能是配置问题。确保您已阅读自述文件中的 Angular 陷阱。现在在 repo 中有一个工作的 Angular CLI 示例。 我没有找到任何例子:(你能链接我吗? here 和 README 包含指向 lint 配置提交前和后提交的链接,以便配置更改一目了然。 我刚刚看到jsut现在5.5版本有lettable操作符所以rxjs-imports文件没什么用但是感谢帮助。 @Whisher 仍然建议使用 rxjs-imports 文件来减少 Angular 项目中的包大小。来自官方 rxjs 文档:“现在可以从 rxjs/operators 导入管道操作符,但是这样做而不更改构建过程通常会导致更大的应用程序包。这是因为默认情况下 rxjs/operators 将解析为 CommonJS 输出rxjs。” (来源:github.com/ReactiveX/rxjs/blob/master/doc/…)(官方错误报告:github.com/angular/angular-cli/issues/9069) 【参考方案1】:

添加

"files": [
  "../src/rxjs-imports.ts"
]

tsconfig.e2e.json 为我修好了。

完整配置如下:


  "extends": "../tsconfig.json",
  "compilerOptions": 
    "outDir": "../dist/out-tsc/e2e",
    "baseUrl": "./",
    "module": "commonjs",
    "target": "es5",
    "types": [
      "jasmine",
      "jasminewd2",
      "node"
    ]
  ,
  "files": [
    "../src/rxjs-imports.ts"
  ]

tsconfig.json 是:


  "compileOnSave": false,
  "compilerOptions": 
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  

【讨论】:

以上是关于tslint rxjs-tslint-rules 在编译的程序中找不到'/users/whisher/projects/my/src/rxjs-imports.ts'。是进口的吗?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 tslint.json 中禁用 TSLint?

tslint 更新错误“找不到模块 'tslint/lib/lint'”

“TSLint 仍然存在” => 从 TSlint 升级到 ESLint

使用 tslint:disable 为代码块禁用 tslint 不起作用

如何运行 tslint.json?

TSLint 抛出警告