使用 Browserify 时暴露全局变量

hom*_*rus 5 javascript d3.js angularjs browserify

我使用 Browserify 并希望将 D3.js 与雷达图组件一起使用。

import 'd3';
import 'radar-chart-d3';
Run Code Online (Sandbox Code Playgroud)

雷达图组件返回错误Uncaught ReferenceError: d3 is not defined

我尝试使用insertGlobalVarsbrowserify 选项:

browserify: {
    bundleName: 'main.js',
    prodSourcemap: false,
    insertGlobalVars: {
      d3: function(file, dir) {
        return 'require("d3")';
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

然而,这并没有改变任何情况。我知道我可以require('d3')在雷达图 .js 文件的顶部添加,但我想避免这种情况。

还有什么其他方法可以将d3变量暴露给全局范围,以便其他文件可以使用d3.

May*_*ayK 0

将其放入package.json

"eslintConfig": {
  "globals": {
    "d3": true
  }
}
Run Code Online (Sandbox Code Playgroud)