相关疑难解决方法(0)

有没有办法从nodejs代码中的package.json获取版本?

有没有办法package.json在nodejs应用程序中设置版本?我想要这样的东西

var port = process.env.PORT || 3000
app.listen port
console.log "Express server listening on port %d in %s mode %s", app.address().port, app.settings.env, app.VERSION
Run Code Online (Sandbox Code Playgroud)

versioning version node.js npm

519
推荐指数
23
解决办法
21万
查看次数

ES 模块实现是否支持导入 JSON 文件?

我找不到关于使用新的 ES 模块实现导入 JSON 文件的任何答案,我在 StackOverflow 上找到的所有答案都是针对使用 Babel 转译的代码,我想导入我的package.json文件:

import pkg from '../package.json';
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

(node:7863) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/run_main.js:54
    internalBinding('errors').triggerUncaughtException(
                              ^

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for /home/user/files/project/package.json imported from /home/user/files/project/version.js
    at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:126:13)
    at Loader.resolve (internal/modules/esm/loader.js:72:33)
    at Loader.getModuleJob (internal/modules/esm/loader.js:156:40)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:42:40)
    at link (internal/modules/esm/module_job.js:41:36) {
  code: 'ERR_UNKNOWN_FILE_EXTENSION'
}
Run Code Online (Sandbox Code Playgroud)

我正在使用最新的Node.js 13.6.0,我是否只剩下使用fs模块读取文件的选项?

javascript node.js

10
推荐指数
1
解决办法
6516
查看次数

我应该如何在 Node 中导入 JSON?

我想导入package.jsontest.js,两个文件都在同一目录中。

我尝试过require

const jsonfile = require("./packages.json");

console.log({ jsonfile });
Run Code Online (Sandbox Code Playgroud)

它抛出错误:

file:///home/.../test.js:1
const jsonfile = require("./packages.json");
                 ^
ReferenceError: require is not defined
    at file:///home/.../test.js:1:18
    at ModuleJob.run (internal/modules/esm/module_job.js:145:37)
    at async Loader.import (internal/modules/esm/loader.js:182:24)
    at async Object.loadESM (internal/process/esm_loader.js:68:5)

Run Code Online (Sandbox Code Playgroud)

这个错误意味着,就像它在浏览器中运行一样,其中 no require,我找到了带有类似消息的答案。

我尝试过import

import * as jsonfile from './packages.json';

console.log({ jsonfile });
Run Code Online (Sandbox Code Playgroud)
internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/home/.../packages.json' imported from /home/.../test.js
    at finalizeResolution (internal/modules/esm/resolve.js:271:11)
    at moduleResolve (internal/modules/esm/resolve.js:694:10)
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:784:11) …
Run Code Online (Sandbox Code Playgroud)

javascript json node.js

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

node.js ×3

javascript ×2

json ×1

npm ×1

version ×1

versioning ×1