【发布时间】:2016-02-01 21:10:46
【问题描述】:
我正在尝试使用带有 Babel 的 Webpack 来编译 ES6 资产,但我收到以下错误消息:
You may need an appropriate loader to handle this file type.
| import React from 'react';
| /*
| import { render } from 'react-dom'
这是我的 Webpack 配置的样子:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: './index',
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/dist/'
},
module: {
loaders: [
{
test: /\.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/
}
]
}
}
这是使用 Webpack 的中间件步骤:
var webpack = require('webpack');
var webpackDevMiddleware = require('webpack-dev-middleware');
var config = require('./webpack.config');
var express = require('express');
var app = express();
var port = 3000;
var compiler = webpack(config);
app.use(webpackDevMiddleware(compiler, {
noInfo: true,
publicPath: config.output.publicPath
}));
app.get('/', function(req, res) {
res.sendFile(__dirname + '/index.html');
});
app.listen(port, function(err) {
console.log('Server started on http://localhost:%s', port);
});
我所有的 index.js 文件都在导入 react,但似乎 'babel-loader' 不起作用。
我正在使用 'babel-loader' 6.0.0。
【问题讨论】:
-
我遇到了同样的问题。 babel-preset-es2015 已安装,但在 ReactDOM.render() 调用中使用 JSX 仍然存在问题:s
-
你的文件的扩展名是什么?它们是 js 文件还是 jsx 文件?您的加载器只考虑带有 jsx 扩展名的文件,这可能是问题
-
在此链接上,您的问题将 100% 得到解决 [stackoverflow.com/questions/50149729/…
-
在此链接上,您的问题将 100% 解决css import to next.js
标签: javascript webpack babeljs es6-module-loader