(!)未使用的外部进口。 'reduce'从外部模块'lodash'导入但从未使用过

时间:2018-02-16 06:45:23

标签: javascript import lodash node-modules rollupjs

我正在使用rollup来构建我的,并且我依赖于lodash

但是当我运行rollup捆绑我的代码时,我会收到此警告。

(!) Unused external imports
reduce imported from external module 'lodash' but never used

我的代码示例如下:

import { reduce } from "lodash"

export function someutilityfunction(args) {
    return reduce(args,() => {
        // do somthing
    }, {}) // A generic use case of reduce function
}

捆绑 可以正常使用。

我甚至尝试过使用

import * as _ from "lodash"

lodash-es代替lodash

但没有成功

这是我的 rollup.config.js

import resolve      from 'rollup-plugin-node-resolve'
import babel        from 'rollup-plugin-babel'
import filesize     from 'rollup-plugin-filesize'
import typescript   from 'rollup-plugin-typescript2'
import commonjs     from 'rollup-plugin-commonjs'
import uglify       from 'rollup-plugin-uglify'

let production = (process.env.NODE_ENV == "production")

export default {
    input: 'src/index.ts',
    output: {
        file: 'lib/index.js',
        format: 'cjs',
        name: 'my-library',
        sourcemap: true
    },
    external: [
        'rxjs',
        'axios',
        'lodash'
    ],
    plugins: [
        resolve(),
        typescript({
            tsconfigOverride: {
                compilerOptions: {
                    declaration: true,
                    moduleResolution: "node",
                    allowSyntheticDefaultImports: true
                }
            },
            // verbosity: 3,
            clean: true,
            rollupCommonJSResolveHack: true,
            abortOnError: false,
            typescript: require('typescript'),
        }),
        commonjs(),   
        babel({
            exclude: 'node_modules/**'
        }),
        production && uglify(),
        filesize()
    ],
    watch: {
        include: 'src/**'
    }
  };

我之前使用 汇总配置,直到现在它一直运行良好。

我错过了什么吗?

我知道问题的标题可能更通用。随时改善帖子。

1 个答案:

答案 0 :(得分:1)

看起来Rollup和Lodash中存在树状抖动的已知问题(D3也存在类似问题):

https://github.com/rollup/rollup/issues/691