Почему импорт { version} из файла './package.json' в файле rollup.config не указывает версию
У меня есть два способа импортировать version
из моего файла package.json. И это говорит об ошибке говорит 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
}),
]
};
1 ответ
banner: `V<%= pkg.version %>, //this works fine
Это утверждение работает, потому что вы импортируете свой package.json в pkg с помощью: import pkg from "./package.json";
а ваш package.json является объектом JSON, поэтому вы можете использовать точечную запись для ссылки на свойства объекта JSON. В этом случае свойство version для package.json. Тем не менее, это не удается: banner: <V%= version %>, //prompts version is not defined
потому что вы не определили экспорт версии в вашем package.json, поэтому при использовании: import {version} from "./package.json";
версия не определена. См. https://medium.com/@trekinbami/a-not-so-in-depth-explanation-of-es6-modules-import-and-export-13a80300f2f0 для быстрого объяснения модулей ES6 для импорта / экспорта.