Webpack 找不到 jsx 文件
Webpack unable to find jsx files
我正在尝试捆绑和服务器我在 webpack 开发服务器上的一个小应用程序。到目前为止它一直很好,但是它似乎无法找到我的 jsx 文件。我的每个 React 智能组件文件夹中都有一个索引,如下所示:
import Component from './component';
import container from './container';
import reducers from './reducers';
export default {
Component,
container,
Container: container(),
reducers
};
当我尝试 运行 包并说
时 Webpack 抱怨
client:47 ./client/ux-demo/index.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./component in /Users/me/projects/ux-demo/client/ux-demo
解析文件
唯一真正的区别是它是一个 jsx
文件,而不是一个 js 文件,但我有 babel-loader。
这是我的 webpack.config
文件
var path = require('path');
var webpack = require('webpack');
module.exports = {
devtool: 'eval',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./client/app.jsx'
],
output: {
path: path.join(__dirname, 'client'),
filename: 'bundle.js',
publicPath: '/client/'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel-loader'],
include: path.join(__dirname, 'client')
}, {
test: /\.jsx$/,
loaders: ['react-hot', 'babel-loader'],
include: path.join(__dirname, 'client')
}]
}
};
不确定我做错了什么,谢谢!
你还需要告诉 webpack 解析 .jsx 文件
resolve:{
extensions:['.jsx']
}
我正在尝试捆绑和服务器我在 webpack 开发服务器上的一个小应用程序。到目前为止它一直很好,但是它似乎无法找到我的 jsx 文件。我的每个 React 智能组件文件夹中都有一个索引,如下所示:
import Component from './component';
import container from './container';
import reducers from './reducers';
export default {
Component,
container,
Container: container(),
reducers
};
当我尝试 运行 包并说
时 Webpack 抱怨 client:47 ./client/ux-demo/index.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./component in /Users/me/projects/ux-demo/client/ux-demo
解析文件
唯一真正的区别是它是一个 jsx
文件,而不是一个 js 文件,但我有 babel-loader。
这是我的 webpack.config
文件
var path = require('path');
var webpack = require('webpack');
module.exports = {
devtool: 'eval',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./client/app.jsx'
],
output: {
path: path.join(__dirname, 'client'),
filename: 'bundle.js',
publicPath: '/client/'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel-loader'],
include: path.join(__dirname, 'client')
}, {
test: /\.jsx$/,
loaders: ['react-hot', 'babel-loader'],
include: path.join(__dirname, 'client')
}]
}
};
不确定我做错了什么,谢谢!
你还需要告诉 webpack 解析 .jsx 文件
resolve:{
extensions:['.jsx']
}