2016-07-26 59 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緩存清理,如另一個網站上的建議,但結果相同。 –

相關問題