패키지 Import 방법.typeScript에 json이 있나요?
제 소포를 수입하려고 합니다.typeScript의 json 파일이 동작하지 않는 것 같습니다.특히 로그 문의 이름과 버전 속성에 액세스할 수 있도록 Import하려고 합니다.예를 들어 다음과 같습니다.
import * as pjson from '../package.json';
// other code here
log.info(`${pjson.name}:${pjson.version}` started on port ...);
Node/Babel을 사용하는 다른 프로젝트에서도 이와 같은 구문을 사용하고 있습니다만, 이러한 부분에 대해 몇 가지 TypeScript를 도입하려고 합니다.다른 곳에서는 다음과 같은 작업을 수행합니다.
import { name, version} from '../package.json';
하지만 그건 여기에서는 통하지 않는다.https://www.npmjs.com/package/json-d-ts의 지시에 따라 Import 명세서의 오류를 없앴습니다만, 속성에 액세스 하려고 하면, 다음의 에러가 표시됩니다.
src/index.ts(20,21): error TS2339: Property 'name' does not exist on type 'typeof import("*.json")'.
src/index.ts(20,35): error TS2339: Property 'version' does not exist on type 'typeof import("*.json")'.
이 문제를 해결할 방법이 있습니까?아니면 이러한 값을 (package.json에서 동적으로 취득하지 않고) 어딘가에서 하드코드해야 합니까?타입을 선언할 수 있을 것 같습니다.import("*.json")
이 특성들이 어떻게 정의되어 있는지요?
*.json Import 방법
이미 답변했듯이 Typescript > = 2.9 및 다음 설정이 필요합니다.tsconfig.json
:
{
"resolveJsonModule": true,
"esModuleInterop": true,
"module": "commonjs"
}
단, 다음과 같은 제한이 있습니다.
- Common으로 컴파일해야 합니다.JS
- Import된 모든 JSON은 다음 위치에 있어야 합니다.
"rootDir"
아쉽게도"rootDir"
패키지 아래의 폴더인 경우가 많습니다.'.src' 같은 json은 실패한다.
그래서:
패키지 Import 방법.Json? 할 수 있어요.require
다음 중 하나를 선택합니다.
const pjson = require('../package.json')
;
npm.start를 사용하는 경우 다음을 수행할 필요가 없습니다.
패키지.json 필드는 npm_prefix에 부가됩니다.예를 들어 패키지에 {"name":foo", "version":1.2.5"}이(가) 포함되어 있는 경우.json 파일에서는 패키지 스크립트에 npm_syslog_name 환경변수가 foo로 설정되어 npm_syslog_version이 "1.2.5"로 설정됩니다.코드 내의 이러한 변수에는 process.env.npm_package_name 및 process.env.npm_package_version 등을 사용하여 접근할 수 있습니다.
npm 내보내기package.json
env의 아트리뷰트와 프레픽스npm_package_
npm 문서에 기재되어 있는 바와 같이
따라서 npm을 사용하는 경우 버전을 얻을 수 있습니다.process.env.npm_package_version
Since TypeScript 2.9 you can import JSON files as described here: typescriptlang documentation 2.9#json, for this you need to enable the "resolveJsonModule" option in your tsconfig.json.
프로젝트에는 타이프스크립트 버전 2.9가 필요합니다.
npm i typescript@latest --save
★★★★★★★★★★★★★★★★★」yarn add typescript
에서 typscript typscript 파일을 "typscript"로 합니다.tsc
을 글로벌하게인스톨 할 」 、 「 」 、 「 」
npm i -g typescript@latest
★★★★★★★★★★★★★★★★★」yarn global add typescript
로로 with with with with with with로 를 구축하는 webpack
★★★★★★★★★★★★★★★★★」webpack-dev-server
할 가 있다json
이 webpack-dev-server
이치노 당신이, 은 그것을 수 없다.import
웹 .json
로 ajax
을 JSON.parse
.
tsconfig.json 컴파일러 옵션에 다음이 포함되어 있는지 확인합니다.
"resolveJsonModule": true, "esModuleInterop": true, "module": "commonjs"
패키지를 Import 합니다.오타가 있는 json
import * as pack from '../package.json';
타이프 스크립트는 다음과 같이 할 수 있어야 합니다.
import * as pack from "../package.json"
// access name and version like this:
console.log(pack.name);
Support( 「 」 )는, 「 」를 참조해 주세요.
httpsblogs.msdn.microsoft.com/typescript/2018/05/31/announcing-typescript-2-9/ #blogs.msdn.microsoft.com/typescript/2018/05/31/announcing-typescript-2-9/ #
언급URL : https://stackoverflow.com/questions/50822310/how-to-import-package-json-in-typescript
'programing' 카테고리의 다른 글
Wordpress admin이 css/js를 로드하지 않습니다. (0) | 2023.03.13 |
---|---|
우체국에서 모든 json의 필드를 접을 수 있는 방법이 있나요? (0) | 2023.03.13 |
워드프레스 페이지 및 버전 제어 (0) | 2023.03.13 |
JDBC 연결을 가져올 수 없습니다. (0) | 2023.03.13 |
공백 문자는 JSON에서 중요하지 않습니까? (0) | 2023.03.13 |