先弄好脚手架
然后安装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' })
]
};
嗯,解决了,把include删了就行,因为elementui的内容不在那个目录下