使用带有 CommonJS 模块的 ES6 导入的 WebStorm

WebStorm using ES6 import with CommonJS module

我正在使用 WebStorm 并且想使用 ES6 导入而不是 require。但是,当将 import 与使用 CommonJS 的库(如 lodash)一起使用时,我从 WebStorm "cannot resolve symbol".

收到警告

当 babel 将导入转换为 require 时,代码工作完美,我只希望 WebStorm 一起玩并且不显示任何错误。我不想部分使用 ES6 import 部分使用 require。

我使用的是 WebStorm 版本 2016.2.2。

webstorm 可以解析从 CommonJS 模块导入的 es6,但仅在显式导出模块的情况下,如 module.exports = module_name; 或类似的;但是 lodash 模块以一种棘手的方式公开:

var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; 
var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 
var moduleExports = freeModule && freeModule.exports === freeExports; 
...
var _ = runInContext(); 
...
if (freeModule) { (freeModule.exports = _)._ = _; freeExports._ = _; }

这就是 WebStorm 无法在那里找到模块的原因...