Webpack正在寻找全球目录中的反应

时间:2016-02-05 03:29:14

标签: reactjs webpack webpack-dev-server

这是我的webpack-dev-server配置

module.exports = {
  entry: './main.js',
  output: {
    path: './',
    filename: 'bundle.js'
  },
  devServer: {
    inline: true,
    port: 9000
  },
  module: {
    loaders: [{
      test: /\.js$/,
      exclude: '/(node_modules)/',
      loader: 'babel',
      query: {
        presets: ['es2015', 'react']
      }
    }]
  }
};

运行服务器时,为什么会出现以下错误

  

(webpack)-dev-server /〜/ strip-ansi / index.js中的错误   模块构建失败:错误:无法找到相对于目录“/Users/ecco/.nvm/versions/node/v5.4.0/lib/node_modules/webpack-dev-server/node_modules/strip-ansi”的预设“react”

我的package.json

"devDependencies": {
"babel-core": "^6.4.5",
"babel-loader": "^6.2.2",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"webpack": "^1.12.13"
}

1 个答案:

答案 0 :(得分:1)

您似乎没有将webpack-dev-server安装为本地节点模块(它不在您的package.json

您可以通过npm listnpm list --global查看本地和全球安装的模块。要查找特定模块,请将该命令传递到grep,即npm list --global | grep webpack-dev-server

我建议将dev服务器安装为项目的devDependency。作为一般规则,除非绝对必要,否则尽量避免使用-g安装模块。此外,使用npm脚本(在package.json中)在本地目录中运行模块,而不必明确地引用它们,例如。

{
  "scripts": {
    "serve": "webpack-dev-server --config your.config.js"
  }
}

然后运行npm run serve而不是运行./node_modules/.bin/webpack-dev-server --config your.config.js(或者更糟糕的是,全局安装)