汇总解决插件和传递依赖项

时间:2019-01-09 10:00:07

标签: javascript reactjs rollupjs

我正在使用rolluprollup-plugin-node-resolve构建一个React库。

在我的图书馆中,我对json-diffjsoneditor,我想将它与库捆绑在一起,这样我库的使用者就不必手动安装它们。

因此,我已经使用json-diff选项将resolve包含在only中。但是,当我这样做时,rollup会通知我一些其他未处理的依赖项-json-diff的传递性依赖项:

  

(!)未解决的依赖项   https://rollupjs.org/guide/en#warning-treating-module-as-external-dependency   difflib(由node_modules \ json-diff \ lib \ index.js导入,   commonjs-external:difflib)cli-color(由导入   node_modules \ json-diff \ lib \ colorize.js,commonjs-external:cli-color)

我想知道,我做错了什么吗?这是正确的解决方法吗?我想包括json-diff及其依赖项。我是否必须列出所有传递依赖项?对于json-diff来说,它并不那么麻烦,但是我还有其他类似的jsoneditor,而且列表很长。

这是我的rollup.config.js

import resolve from 'rollup-plugin-node-resolve';
import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import pkg from './package.json';

import postcss from 'rollup-plugin-postcss';

export default {
  input: 'index.js',
  external: ['react', 'prop-types', 'uwr-react-widgets', 'json-diff', 'jsoneditor'],
  output: [{ file: pkg.module, format: 'esm' }],
  plugins: [
    resolve({
      only: [
        'ajv',
        'ajv-errors',
        'ajv-keywords',
        'enumify',
        'lodash-es',
        'moment-timezone',
        'bigdecimal',
        'fast-json-stable-stringify',
        'fast-deep-equal',
        'uri-js',
        'json-schema-traverse',
        'moment',
      ],
    }),
    babel({
      exclude: 'node_modules/**',
    }),
    commonjs({ extensions: ['.js', '.jsx'] }),
    json(),
    postcss({
      autoModules: true,
      namedExports: true,
      modules: true,
      extensions: ['.css', '.less'],
    }),
  ],
};

0 个答案:

没有答案