ค้นหาเว็บไซต์

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
    }
}

บทความที่เกี่ยวข้อง