使用webpack包含babel中的导入路径

时间:2015-06-11 09:37:49

标签: ecmascript-6 webpack babeljs

给定目录结构,例如:

project
├───common
│   └───js
└───src
    └───js

有没有办法将导入路径添加到webpack中,以便src/js内的脚本可以解析common/js内的代码,如果它在本地找不到任何其他内容?
类似下面代码的内容包括common/js/CommonClass.js

import CommonClass from "CommonClass.js";

这很容易做到,例如在config.rb内使用指南针:

add_import_path "common/scss"

2 个答案:

答案 0 :(得分:4)

Webpack接受多个资源根到config。

//webpack.conf.js
module.exports = {
   resolve: {
      root: [__dirname + '/common', __dirname + '/src']
   }
};

现在webpack也将搜索两个目录中的模块。请注意,该选项仅适用于绝对路径。

有关详细信息,请参阅webpack docs

答案 1 :(得分:2)

正如just-boris所说,你可以使用resolve配置。确切的设置是不同的,具体取决于您是否使用Webpack 1或2。

Webpack 1



resolve: {
  root: [
    path.resolve('./client')
  ]
},




Webpack 2



resolve: {
  modules: [
    path.resolve('./client'),
    'node_modules'
  ]
},




Aliasing是另一个有用的功能,但我个人觉得上面的配置更容易。

请参阅ES6 Import Statement Without Relative Paths

上的指南