javascript - Babel 加载器无法导入 React

标签 javascript reactjs webpack babeljs

我使用 babel loader 和 webpack 来组合多个 React 组件。虽然我已经安装了 webpack 和 babel-loader 及其依赖项。我收到两个错误:

ERROR in ./components/layout.jsx
Module parse failed: /Users/myuser/Desktop/Projects/Demo/Scorecard/SPA/React/components/layout.jsx Line 1: Unexpected token
You may need an appropriate loader to handle this file type.
| import React from 'react';
| 
| class Layout extends React.Component {
 @ ./build/import.js 15:14-49

ERROR in ./components/topic-list.jsx
Module parse failed: /Users/myuser/Desktop/Projects/Demo/Scorecard/SPA/React/components/topic-list.jsx Line 17: Unexpected token <
You may need an appropriate loader to handle this file type.
|     render: function () {
|         return (
|             <div>
|                 <div className="row topic-list">
|                     <SingleTopicBox 
 @ ./build/import.js 11:17-56

webpack.config.js

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

var BUILD_DIR = path.resolve(__dirname, 'build');
var APP_DIR = path.resolve(__dirname, 'build');

module.exports = {
    entry: APP_DIR + '/import.js',
    output: {
        path: BUILD_DIR,
        filename: 'bundle.js'
    },
    module: {
        loaders: [
        {
            test: /\.jsx?$/,
            include: APP_DIR,
            loader: 'babel',

            exclude: /node_modules/,
            query: {
                presets: ['es2015']
            }
          }
        ],
        resolve: {
          extensions: ['', '.js', '.jsx']
        }
    }
};

导入.js

import React from 'react';
import ReactDOM from 'react-dom';
import TopicsList from '../components/topic-list.jsx';
import Layout from '../components/layout.jsx';

layout.jsx

import React from 'react';

class Layout extends React.Component {

    render() {
        return (
            <div className="container">
                <TopicsList />

            </div>
        );
    }
};

ReactDOM.render(<Layout />, document.getElementById('app'));

最佳答案

webpack.config.js 文件中删除 include 选项。 Include 文件夹应该是 webpack 可以在其中找到你的加载器的文件夹,在本例中是 babel loader

关于javascript - Babel 加载器无法导入 React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35147790/

相关文章:

javascript - 为什么任何 html 按钮都会导致 aspx 页面中的回发?

javascript - 是否可以随着时间的推移更改 widthSegments 参数(来自 SphereGeometry)?

javascript - 在 React 中,根据之前和当前的 props,在哪里设置状态?

javascript - 使用 Webpack 添加图像并在 sass 中使用它

CSS 模块如何从另一个文件的选择器级联?

javascript - React - 使用 eval() 确定 var 是否存在

javascript - 替换对象(和/或数组)中字符串的所有实例 - JavaScript

javascript - Material-ui 不会根据主题改变 Typography 颜色

javascript - React Redux 用于 react 路由器导航的加载栏

javascript - 如何在 Grunt/Gulp/Webpack 中从 Bower 连接带有图像和字体的 css 文件