почему импорт {version} из файла './package.json' в файле rollup.config не указывает версию - PullRequest
0 голосов
/ 03 октября 2018

У меня есть два способа импортировать 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 Ответ

0 голосов
/ 03 октября 2018
banner: `V<%= pkg.version %>, //this works fine 

Это утверждение работает, потому что вы импортируете свой package.json в pkg с: import pkg from "./package.json";, а ваш package.json является объектом JSON , так что вы можете использоватьточечная нотация для ссылки на свойства объекта JSON.В этом случае свойство версии файла 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.

...