react使用element-react的时候,编译报错

先弄好脚手架
然后安装element-react
import 之后 render测试一下
然后报错,发现file-loader没装。

import 'element-theme-default';

然后再编译,还是报错。
一直报

ERROR in ./~/element-theme-default/lib/index.css Module parse failed:
/home/tak/workspace/react/FT/node_modules/element-theme-default/lib/index.css
Unexpected character '@' (1:0) You may need an appropriate loader to
handle this file type. SyntaxError: Unexpected character '@' (1:0) at
Parser.pp$4.raise
(/home/tak/workspace/react/FT/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)

at Parser.pp$7.getTokenFromCode (/home/tak/workspace/react/FT/node_modules/webpack/node_modules/acorn/dist/acorn.js:2756:10)
at Parser.pp$7.readToken (/home/tak/workspace/react/FT/node_modules/webpack/node_modules/acorn/dist/acorn.js:2477:17)
at Parser.pp$7.nextToken (/home/tak/workspace/react/FT/node_modules/webpack/node_modules/acorn/dist/acorn.js:2468:15)
at Parser.parse (/home/tak/workspace/react/FT/node_modules/webpack/node_modules/acorn/dist/acorn.js:515:10)
at Object.parse (/home/tak/workspace/react/FT/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39)
at Parser.parse (/home/tak/workspace/react/FT/node_modules/webpack/lib/Parser.js:902:15)
at NormalModule.<anonymous> (/home/tak/workspace/react/FT/node_modules/webpack/lib/NormalModule.js:104:16)
at NormalModule.onModuleBuild (/home/tak/workspace/react/FT/node_modules/webpack-core/lib/NormalModuleMixin.js:310:10)
at nextLoader (/home/tak/workspace/react/FT/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)

@ ./app/main.jsx 17:0-32


格式有点问题。
好像就是loader无法识别css中@字符。。

const webpack = require('webpack');
const path = require('path');
const OpenBrowserPlugin = require('open-browser-webpack-plugin');

module.exports = {
  devServer: {
    historyApiFallback: true,
    hot: true,
    inline: true,
    progress: true,
    contentBase: './app',
    port: 8080
  },
  entry: [
    'webpack/hot/dev-server',
    'webpack-dev-server/client?http://localhost:8080',
    path.resolve(__dirname, 'app/main.jsx')
  ],
  output: {
    path: path.resolve(__dirname, 'build'),
    publicPath: '/',
    filename: './bundle.js'
  },
  module: {
    loaders: [
      { test: /\.css$/, include: path.resolve(__dirname, 'app'), loader: 'style-loader!css-loader' },
      { test: /\.js[x]?$/, include: path.resolve(__dirname, 'app'), exclude: /node_modules/, loader: 'babel-loader' },
      {
        test: /\.(ttf|eot|svg|woff|woff2)(\?.+)?$/,
        loader: 'file-loader?name=[hash:12].[ext]'
      }
    ]
  },
  resolve: {
    extensions: ['', '.js', '.jsx']
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new OpenBrowserPlugin({ url: 'http://localhost:8080' })
  ]
};
阅读 5.1k
2 个回答

嗯,解决了,把include删了就行,因为elementui的内容不在那个目录下

你加了style-loader和css-loader么。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题