2015-09-23 12 views
10

के साथ काम नहीं कर रहा है मुझे Illegal import declaration त्रुटि मिली है। जब मैं webpackआयात वाक्यविन्यास वेबपैक

के साथ एकीकृत एक प्रतिक्रिया js रेपो करने की कोशिश की मैं https://github.com/dptoot/react-event-calendar/blob/master/example/src/example.js

से मूल स्रोत कोड चले गए मैं Illegal import declaration त्रुटि को कैसे ठीक कर सकता है?

मुझे लगता है कि import वाक्यविन्यास केवल कुछ जेएस lib में काम करता है?

त्रुटि

ERROR in ./app/main.js 
Module build failed: Error: Parse Error: Line 2: Illegal import declaration 
    at throwError (/Users/poc/sandbox/ha/node_modules/jsx-loader/node_modules/jstransform/node_modules/esprima-fb/esprima.js:2823:21) 

main.js

var React = require('react'); 
const EventCalendar = require('react-event-calendar'); 

import moment from 'moment'; 
import Row from 'react-bootstrap/lib/Row'; 
import Col from 'react-bootstrap/lib/Col'; 
import Button from 'react-bootstrap/lib/Button'; 
import ButtonToolbar from 'react-bootstrap/lib/ButtonToolbar'; 
import Popover from 'react-bootstrap/lib/PopOver'; 
import Overlay from 'react-bootstrap/lib/Overlay'; 

webpack.config.js

var path = require('path'); 
var webpack = require('webpack'); 


var config = module.exports = { 
    // the base path which will be used to resolve entry points 
    context: __dirname, 
    // the main entry point for our application's frontend JS 
    entry: './app/main.js', 
    output: { 
    filename: 'main.js' 
    }, 

    resolve: { 
     extensions: ['', '.js', '.jsx', '.ts'] 
    }, 

    module: { 
    loaders: [ 
     { 
      test: /\.jsx?$/, 
      exclude: /node_modules/, 
      loader: 'jsx-loader?insertPragma=React.DOM&harmony' } 
    ] 
    } 

}; 

उत्तर

7

उपयोग babel-loader के माध्यम से कोलाहल import घोषणाओं को बदलने के लिए (और अन्य ES2015 अगर आप चाहते हैं) । http://babeljs.io/docs/setup/#webpack

1

जैसा कि @ जेएमएम ने उत्तर दिया, ऐसा लगता है कि आपको babel-loader की आवश्यकता है। इसके अलावा, मैं अभी भी एक ही समस्या का सामना करना पड़ रहा था, और अंत में इस तरह के

module: { 
    loaders: [ 
-  {test: /\.jsx?$/, loader: 'babel-loader'}, 
-  {test: /\.jsx$/, loader: 'jsx-loader'} 
+  {test: /\.jsx$/, loader: 'jsx-loader'}, 
+  {test: /\.jsx?$/, loader: 'babel-loader'} 
    ] 
    }, 

की तरह या क्योंकि jsx-loader इस config के साथ काम नहीं रह गया है लग रहा है, इसे नष्ट कर दिया जा सकता है संपादन webpack.config.js द्वारा हल मिलता है।

मुझे आशा है कि इससे

संबंधित मुद्दे