5 回答
TA贡献1865条经验 获得超7个赞
我有类似的问题。作为解决方案,您应该添加自定义类型,即 与内容json-loader.d.ts
declare module "*.json" {
const value: any;
export default value;
}
TA贡献1876条经验 获得超7个赞
如果您使用的是类型脚本,这变得很容易:
import pkg from '../path/to/package.json';
pkg.name;
它确实需要以下在你的:compilerOptionstsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"resolveJsonModule": true,
"esModuleInterop": true
}
}
TA贡献1815条经验 获得超6个赞
您可以浏览整个文件并选择所需的任何属性:require
const packageJSON = require("path/to/your/package.json");
console.log(packageJSON.name);
TA贡献1829条经验 获得超6个赞
我也想做同样的事情,这是有效的代码。由于它用于加载 ,因此无论当前的工作目录如何,它都可以工作。require
package.json
var packageFile = require('./package.json'); console.log(packageFile);
警告:
请注意不要向客户端公开您的,因为这意味着您的所有依赖项版本号,构建和测试命令等都将发送到客户端。
如果要在同一项目中生成服务器和客户端,则也会公开服务器端版本号。攻击者可以使用此类特定数据来更好地适应服务器上的攻击。package.json
TA贡献1827条经验 获得超9个赞
如果您使用的是没有加载器的纯 Javascript,则必须手动加载包 .json 文件:
import { readFileSync } from "fs";
// ./package.json is relative to the current file
const packageJsonPath = require.resolve("./package.json");
const packageJsonContents = readFileSync(packageJsonPath).toString();
const packageJson = JSON.parse(packageJsonContents);
console.log(packageJson.name);
添加回答
举报