2016-07-26 65 views
1

我想在这里列出的和其他的网站,但似乎没有工作的所有选项。找不到预设“ES2015”相对于目录的新项目

我能够正确地安装webpack reactjs等部件进行我的第一测试应用(MyApp的)。

对于我的下一个应用程序的项目,我想从第一个应用程序充分利用所有npm-modules,这样我就不必再下载所有的模块,让他们集中。

不过,我不断收到关于失踪“ES2015”上述错误。 webpack根据我的第一个应用程序项目不报告此问题。奇怪的是,即使我将预设从es2015更改为XXes2015,我仍然收到相同的信息。

我webpack.config.js:

var path = require('path'); 

var isDev=true; 
const cssModulesNames = `${isDev ? '[path][name]__[local]__' : ''}[hash:base64:5]`; 


var config = { 

    entry: path.resolve(__dirname, 'js\\main.js'), 
    output: { 
     path: path.resolve(__dirname, '.'), 
     filename: '.\\bundle.js' 
    }, 

    resolveLoader: { 

     modulesDirectories: [ '../../../../Documents/API/react/examples/MyApp/node_modules' ] 
    }, 
    module: { 
     loaders: [{ 
      test: /\.jsx?$/, 
      loader: 'babel', 
      query: 
      { 
       presets: [ 'es2015', 'react',"stage-0"] 

      } 
     }] 
     } 

     }; 

    module.exports = config; 

我package.jason:

{ 
    "name": "App1", 
    "version": "1.13.1", 
    "description": "", 
    "main": ".", 
    "dependencies": { 
    "babel-core": "latest", 
     "babel-loader": "latest", 
     "babel-preset-es2015": "latest", 
     "babel-preset-react": "latest", 
     "babel-preset-stage-0": "latest" 
    }, 
    "devDependencies": {}, 
    "scripts": { 
     "test": "jest --verbose" 
    }, 
    "jest": { 
      "scriptPreprocessor": "<rootDir>/node_modules/babel-jest", 
      "unmockedModulePathPatterns": [ 
       "<rootDir>/node_modules/react", 
       "<rootDir>/node_modules/react-dom", 
       "<rootDir>/node_modules/react-addons-test-utils", 
       "<rootDir>/node_modules/fbjs" 
      ] 
     }, 
    "author": "XX", 
    "license": "ISC" 
    } 

我.bablrc:

{  "presets": ["es2015", "stage-0", "react"] } 

如果我改变进入ES2015说esXX2015在webpack.config.js或.babelrc,它会给出同样的错误。我预计它会寻找不同的预设。

希望有人能扔在这更多的光线,帮助我!

感谢。

回答

0

我最终设法通过创建节点模块符号链接到以前的项目node_module目录来解决问题。虽然这实现了我想要的,但我有点不高兴,我尝试过的webpack.config.js中的各种设置无法实现此目的。希望有人使用正确的设置,以便webpack行为更清晰(至少对我来说)。希望这有助于别人试图解决类似的问题...

0

确保你的文件名是:.babelrc代替.bablrc

你可以尝试在你的webpack.config

变化loader: 'babel'添加babel-loaderloader: 'babel-loader'

+0

对不起,这是一个错字。我删除了.babelrc,并且只在其他人建议的webpack.config.js中保存了该配置。也改变了巴贝尔babel装载机,我仍然得到相同的信息!有趣的是1)当节点模块位于同一个目录中时,相同的配置文件适用于较早的文件。因此我觉得它应该在这里。 2)即使我删除了webpack.config.js文件中的所有预设,它仍然会给出相同的消息。不知道如何。我期望预设的条目触发器搜索这些预设模块... –

0

看起来像你期望的resolveLoader.modulesDirectories配置参数来告诉babel在哪里可以找到预设。这个参数被webpack用来查找加载器(比如babel-loader),但不能用babel。

+0

嗨....我使用上面的参数来帮助webpack找到babel loader ...不是为了babel找到预设。如果我删除这个参数,webpack找不到babel,因此我认为它是必需的。 –

0

在你的问题中有一个错字。它应该是.babelrc不是.bablrc

`.babelrc'的内容应该如下所示。 order is important

stage-0 → ES2015 → JSX → ES5

{ 
    "presets": [ 
    "stage-0", 
    "es2015", 
    "react" 
    ] 
} 

我建议你要么在.babelrc文件或文件webpack.config预设维护真理的唯一来源。所以删除您webpack.config的查询项并添加一个排除条目忽略JS/JSX从节点modeuls内文件夹文件(如下更新...)

loaders: [{ 
    test: /\.jsx?$/, 
    exclude: /node-modules/, 
    loader: 'babel' 
}] 
+0

嗨...抱歉,这是一个错字。感谢您的建议。建议1)删除查询条目2)在webpack.config.js中添加排除部分..它仍然显示相同的错误!我甚至尝试npm缓存清理,如另一个网站上的建议,但结果相同。 –

相关问题