javascript - ดึงคุณสมบัติ name จาก package.json ด้วย NodeJS
ฉันอยากทราบว่ามีวิธีใดใน NodeJs ที่จะดึงค่าคุณสมบัติ name จากไฟล์ package.json ของโปรเจกต์ของฉันได้บ้าง:
{
"name": "bendiciones",
"version": "1.12.0",
"description": " bendiciones",
"main": "main.js",
"scripts": {
...
}
ฉันได้ลองกับ
import {name} from './package.json';
import {name} from './app.json'
แต่ฉันได้รับข้อผิดพลาด:
TS2307: Cannot find module './package.json'.
TS2307: Cannot find module './app.json'.
ฉันก็ได้ลองด้วย:
console.log ('--2>', process.env.npm_package_name);
แต่ฉันได้รับ undefined
คำตอบ #1
ฉันเคยมีปัญหาคล้ายกัน เพื่อแก้ปัญหา คุณควรเพิ่มการพิมพ์แบบกำหนดเอง เช่น json-loader.d.ts โดยมีเนื้อหาดังนี้
declare module "*.json" {
const value: any;
export default value;
}
คำตอบ #2
ถ้าคุณใช้ TypeScript สิ่งนี้จะง่ายขึ้น:
import pkg from '../path/to/package.json';
pkg.name;
มันต้องการ compilerOptions ต่อไปนี้ใน tsconfig.json ของคุณ:
{
"compilerOptions": {
"module": "commonjs",
"resolveJsonModule": true,
"esModuleInterop": true
}
}
