Webpack不会加载/解析通过git包含的npm包的依赖关系

时间:2016-07-13 19:09:54

标签: node.js npm gulp webpack

我刚开始使用gulp-starter。我在GIT存储库中包含了一个私有的npm包(名为“Pigeon”),但是我遇到了让一切顺利运行的问题。软件包的安装很顺利,所有文件都在node_modules中,包括它的所有依赖项。

对myApp / node_modules /鸽/ index.js:

export MyModule from './my-module.js';

对myApp / SRC / app.js:

import ClientPigeoneer from 'pigeon';

Webpack loader:

  var webpackConfig = {
    context: 'myApp/src/scripts',
    plugins: [],
    resolve: {
      root: 'myApp/src/scripts',
      extensions: ['', '.js', '.json']
    },
    module: {
      loaders: [
        {
          test: /\.js$/,
          loader: 'babel-loader',
          exclude: /node_modules/,
          query: ["es2015", "stage-1"]
        }
      ]
    }
  }

控制台输出:

ERROR in ./~/pigeon/index.js
Module parse failed: /Users/mirague/Projects/myApp/node_modules/pigeon/index.js Line 1: Unexpected token
You may need an appropriate loader to handle this file type.
| export MyModule from './my-module';
|
 @ ./src/scripts/app.js 9:14-31

如何让Webpack解析此软件包?我需要添加另一个加载器吗?

1 个答案:

答案 0 :(得分:0)

请考虑使用此代码进行解析:

resolve: {
    modulesDirectories: ['node_modules', 'myApp/src/scripts'],
    fallback: path.join(__dirname, 'node_modules'),
    extensions: ['', '.js', '.json']
},

通过这种方式,webpack将知道在您的节点模块目录中查找已安装的模块。