Dar*_*te1 43 javascript node.js es6-modules
我们正在尝试使用 Node.js 为 ES6 导出和导入模块的新方法。从package.json文件中获取版本号对我们来说很重要。下面的代码应该这样做:
import {name, version} from '../../package.json'
Run Code Online (Sandbox Code Playgroud)
但是,在执行时抛出以下错误:^
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for T:\ICP\package.json imported from T:\ICP\src\controllers\about.js
Run Code Online (Sandbox Code Playgroud)
有什么我们遗漏的吗?不支持
扩展.json吗?
有没有其他方法可以使用 Node.js 13+ 检索此信息?
小智 66
根据Node.js ES 模块文档 --experimental-json-modules。需要导入 JSON 文件。
包括--experimental-json-modules标志以使模块工作。
node --experimental-json-modules about.js
Run Code Online (Sandbox Code Playgroud)
Iva*_*ele 22
import SomeJson from './some.json' assert { type: 'json' }
Run Code Online (Sandbox Code Playgroud)
并使用匹配的实验标志运行它:
node --experimental-json-modules ./your-file.js
Run Code Online (Sandbox Code Playgroud)
你可以require在 Node.js 的 ES6 模块中导入:
import { createRequire } from "module"; // Bring in the ability to create the 'require' method
const require = createRequire(import.meta.url); // construct the require method
const my_json_file = require("path/to/json/your-json-file.json") // use the require method
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以像在 docs node-js 中一样使用它,如下所示:
import { readFile } from 'fs/promises';
const json = JSON.parse(await readFile(new URL('../../package.json', import.meta.url)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16234 次 |
| 最近记录: |