ES2015 모듈에서 "이 구문을 사용하려면 가져온 도우미가 필요하지만 모듈 'tslib'을 찾을 수 없습니다"
를 준비했습니다.tslib 도우미에 : TS 도우미
패키지.json
{
"name": "foo",
"scripts": {
"build": "tsc"
},
"dependencies": {
"tslib": "^1.9.3"
},
"devDependencies": {
"typescript": "^3.1.3"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"outDir": "./lib",
"rootDir": "./src",
"importHelpers": true,
"strict": true,
"experimentalDecorators": true
}
}
src/index.ts
function a(target: any) {
return target;
}
@a
export class Foo {}
그 결과, 다음의 에러가 발생합니다.
src/index.ts: 5:1 - 오류 TS2354: 이 구문에 Import된 도우미가 필요하지만 모듈 'tslib'을 찾을 수 없습니다.
한편, 「 」는, 「 」, 「 」의 사이에lib/index.js컴파일 되어 있습니다.
import * as tslib_1 from "tslib";
function a(target) {
return target;
}
var Foo = /** @class */ (function () {
function Foo() {
}
Foo = tslib_1.__decorate([
a
], Foo);
return Foo;
}());
export { Foo };
이 문제는 어떻게 해결할 수 있을까요?
다음과 같은 방법을 시도해 보십시오.
npm install tslib --save-dev
또는 (내가 방금 한) noob 실수를 수정하기 위해:
npm i
으로 '아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아git clean -fxd ,, 습, 습, 없은 없다.npm i가 모두npm 키키 do do do do do hh do do 도도도도도 도도도도도도도도!
문제는 에디터가 프로젝트와 다른 TypeScript 버전을 사용하고 있다는 것이었습니다.
이 문제를 해결하려면:
- 명령 팔레트를 엽니다(Mac에서는 Cmd+Shift+P).대상 파일은 .ts 또는 .tsx여야 합니다.그렇지 않으면 버전 변경 옵션이 표시되지 않습니다.)
- "TypeScript: "를 선택합니다.TypeScript Version을 선택합니다.."
- VSCode의 TS 버전과 Workspace(프로젝트) 버전이 표시됩니다. 이 버전을 선택하십시오.
또는 아래 바의 버전 번호가 표시되어 있으면 클릭합니다.
「 」에 아래 합니다.tsconfig.json
"compilerOptions": {
//...rest parameters
"baseUrl": "./",
"paths": {
"tslib" : ["path/to/node_modules/tslib/tslib.d.ts"]
},
를 최신 문제는 수정되었습니다★★★★★★★★★★★★★★★★★★★★★★★를 인스톨 하고 있었습니다.1.9.3및 「」로 되었습니다.1.10.0.
제 경우 tslib는 이미 설치되어 있고, 다른 컴포넌트는 정상적으로 동작하고 있는 반면, 이 에러는 1개의 컴포넌트에 대해서만 발생하고 있습니다(빌드와 기능).방금 vscoode를 다시 시작했는데 사라졌어요.그렇기 때문에 다른 사람이 제안한 것을 실행한 후에도 오류가 남아 있다면 시도해 보세요.
오류는 산발적으로 발생하지만 "node_modules" 폴더의 파일을 편집하여 발생한 것 같습니다.
삭제했습니다
- "node_module" 폴더
- "filen-lock.json" 파일
실행... "npm install"
이제 작동한다.
메모: 파일을 삭제하기 전에 "npm install"을 실행해도 문제가 해결되지 않았습니다.
참조가 나타내는 바와 같이 모듈 분해능은 다음의 경우에만 노드모드로 설정됩니다."modules": "commonjs"의 경우 되어 있습니다."modules": "es2015":
모듈 해결 전략에는 다음 두 가지가 있습니다.노드와 클래식--moduleResolution 플래그를 사용하여 모듈 해결 전략을 지정할 수 있습니다.지정하지 않으면 기본값은 --module AMD | System | ES2015 또는 Node 입니다.
classic 모드는 다음 사항을 인식하지 못하기 때문에node_modules컴파일러가 해결할 수 없습니다.tslib모듈.
moduleResolutionES2015 모듈에 대해 명시적으로 설정해야 합니다.
...
"module": "es2015",
"moduleResolution": "node",
...
이 경우, 의 삭제 또는 설정importHelpers컴파일러 옵션false문제를 해결했습니다.
{
"compilerOptions": {
...
"importHelpers": false, // Or remove this
...
}
}
패키지 내 tslib의 의존관계 및 devDependencies를 업데이트합니다.json
{
dependencies:{
"tslib": "1.10.0",
},
devDependencies:{
"tslib": "1.10.0",
}
}
내 경우 오류Cannot find module 'tslib'특수 건설업자에 의해 야기되었다@nrwl/node:buildNodeJS 서버에서 nrwl/nx 모노레포 패턴을 응용 프로그램 중 하나로 사용하고 있습니다.
그것은 포함되지 않았다.tslib컴파일 출력에 표시됩니다.설정"externalDependencies": "none"의 실제 가동 빌드 구성에서angular.json문제를 해결했습니다.크레딧은 https://github.com/nrwl/nx/issues/2625 @vincastl로 보내드립니다.
이 문제를 해결하기 위해 노력한 첫 번째 게시물이기 때문에 여기에 게시하는 것은 아마도 저 혼자만이 아닐 것입니다.
npm i -g tslib
이것으로 내 문제는 해결되었다.-g가 없으면 효과가 없었습니다.
npm 설치
새 프로젝트나 리포지토리를 처음 열 때 이 오류가 나타나는 경우 앱의 필수 모듈을 아직 설치하지 않은 것일 수 있습니다.
앱 디렉토리에서 다음을 실행합니다.
npm install
저도 같은 문제에 직면해 있었는데 다음 명령으로 해결되었습니다!
npm install -D tslib@latest
나는 이 문제에 직면했다jest(+vuejs 및 모노레포 구조).모든 앱은 정상적으로 동작하지만 유닛 테스트에서는 동작하지 않습니다.
따라서 두 가지 작업을 수행해야 합니다.
- 에
tsconfig.json:
"compilerOptions": {
"paths": {
"tslib" : ["path/to/node_modules/tslib/tslib.d.ts"]
}
- 에
jest.config.js:
moduleNameMapper: {
'tslib': '<rootDir>/path/to/node_modules/tslib/tslib.js'
}
프로젝트에서는, 간단하게 실행해 주세요.
npm i tslib
여기에는 모든 타이프스크립트 도우미 기능이 포함되어 있습니다.
업그레이드, tslib 버전 2.00.0
포장되어 있습니다.json "tslib" : "^2.0.0"이어야 합니다.
한 케이스가 있었는데, 유일한 해결방법은 이걸 수동으로 추가하는 것 뿐이었습니다.package.json:
"tslib": "^2.3.1",
실행하다npm i나중에.
에서 삭제해야 합니다. "compilerOptions": { "importHelpers": true, }tsconfig.json의 경우
.csproj 파일에 다음 행을 추가합니다.<PropertyGroup>:
<TypeScriptCompileBlocked>True</TypeScriptCompileBlocked>
언급URL : https://stackoverflow.com/questions/52801814/this-syntax-requires-an-imported-helper-but-module-tslib-cannot-be-found-wit
'source' 카테고리의 다른 글
| Kotlin: JSONArray를 통해 반복 (0) | 2023.02.16 |
|---|---|
| WP 멀티사이트 사이트 간에 ACF 필드 동기화 (0) | 2023.02.16 |
| MongoDB: 한 필드에 있는 모든 문서 업데이트 (0) | 2023.02.16 |
| 입력 유형 Number에서 +,-e를 차단하는 방법 (0) | 2023.02.16 |
| useState와 useEffect의 차이점은 무엇입니까? (0) | 2023.02.16 |
