Webpack 4 不会在使用未定义函数时抛出编译错误

Webpack 4 doesn't throw compilation error on use of undefined functions

我最近参与了一个使用 Webpack bundler 的项目。在重构代码时,我注意到捆绑器在使用未定义的函数时不会抛出错误。

import { foo } from './foo.js';

foo('hi');
baz('test');

这里的 baz 没有导入也没有定义,我的期望是打包器会在 baz 上抛出未定义的错误,但它没有。

在编译时而不是在运行时识别这些情况会很棒。

您需要 运行 您的代码通过 loader like eslint then ensure you turn on the no-undef rule. There's a sample of how to do this in the docs here: https://github.com/webpack-contrib/eslint-loader#usage

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'eslint-loader',
        options: {
          // eslint options (if necessary)
        },
      },
    ],
  },
  // ...
};