2016-01-25 49 views
7

我知道babel-node忽略node_modules默認情況下,所以我跑了三種不同的方式來覆蓋它,都以失敗告終:巴貝爾節點未按規定在node_modules JSX文件

  1. babel-node app.js.babelrc

    { 
        "presets": ["es2015", "react"], 
        "only": [ 
        "app", 
        "node_modules/react-components" 
        ] 
    } 
    

    結果:SyntaxError: Unexpected token <用於所需JSX節點模塊

  2. babel-node app.js.babelrc

    { 
        "presets": ["es2015", "react"], 
        "ignore": "node_modules\/(?!react-components)" 
    } 
    

    結果:SyntaxError: Unexpected token <爲需要JSX節點模塊

  3. .babelrcbabel-node ./bin/www --ignore '/node_modules/(?!react-components)

    { 
        "presets": ["es2015", "react"] 
    } 
    

    結果:

    [project]/node_modules/babel-preset-react/node_modules/babel-plugin-transform-react-jsx/lib/index.js:12 
        var visitor = require("babel-helper-builder-react-jsx")({ 
                     ^
    
    TypeError: object is not a function 
    

使用帶有忽略選項的註冊表鉤正常工作。

app.js

require('babel-core/register')({ 
    ignore: /node_modules\/(?!react-components)/ 
}); 

即使這個工程開始跑node app.js與此代碼,我還是想知道爲什麼我用babel-node實現不起作用。謝謝。


引用:

+0

有沒有想到這一點? – jcreamer898

+0

@ jcreamer898 nope –

回答