我有两种方法从package.json文件导入version
。并且提示错误Error transforming bundle with 'rollup-plugin-license' plugin: version is not defined
。请查看我的以下代码。
import pkg from "./package.json";
import {version} from "./package.json";
import license from 'rollup-plugin-license';
export default {
input: './src/a.js',
output: {
file: 'a.js',
format: 'cjs',
},
plugins: [
license({
banner: `V<%= pkg.version %>`, //this works fine
banner: `V<%= version %>`, //prompts version is not defined
}),
]
};
答案 0 :(得分:0)
banner: `V<%= pkg.version %>, //this works fine
此语句之所以有效,是因为您要使用以下命令将package.json导入pkg:import pkg from "./package.json";
,而您的 package.json是JSON对象,因此您可以使用点表示法引用JSON对象的属性。在这种情况下,为package.json 的 version属性。但是,此操作将失败:banner: <V%= version %>, //prompts version is not defined
,因为您尚未在package.json中定义版本导出,因此当您使用时:import {version} from "./package.json";
版本未定义。有关ES6导入/导出模块的快速说明,请参见:https://medium.com/@trekinbami/a-not-so-in-depth-explanation-of-es6-modules-import-and-export-13a80300f2f0。