Javascript 网页包赢得';尽管设置了resolve,但仍无法解析没有.jsx扩展名的模块
如果我将Javascript 网页包赢得';尽管设置了resolve,但仍无法解析没有.jsx扩展名的模块,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,如果我将.jsx添加到require('./StringOption')中,它会起作用,但我认为webpack.config.js的resolve部分应该允许我进行require,而无需扩展。我做错了什么 另外,当它与index.jsx位于同一目录中时,为什么我需要/infront 运行Web包后出现错误消息: index.js: 目录结构: 首先所有的/StringOption都说它应该在同一个目录中搜索。与其他地方不同,我们需要指定从何处导入react jsx中的文件 其次 在resolve
.jsx
添加到require('./StringOption')
中,它会起作用,但我认为webpack.config.js的resolve
部分应该允许我进行require,而无需扩展。我做错了什么
另外,当它与index.jsx位于同一目录中时,为什么我需要/
infront
运行Web包后出现错误消息:
index.js:
目录结构:
首先所有的
/StringOption
都说它应该在同一个目录中搜索。与其他地方不同,我们需要指定从何处导入react jsx中的文件
其次
在resolve中,您不需要显式使用resolve,只需使用babel loader
或使用resolve作为
resolve: {
extensions: ['', '.js', '.jsx']
}
或
在webpack.config.js中包含以下内容,这样您就不必担心js和jsx扩展
loaders: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
// include: __dirname + '/src',
include: path.join(__dirname, '/src'),
loader: 'babel-loader',
query: {
presets: ['react','es2015']
}
}]
你试过
resolve:{extensions:[''''.js','.jsx'],}
看看这个问题:@alexi2你是个天才。非常感谢。我看到了那个帖子,但没注意到他们没有放星号。现在我已经把它们去掉了,它就起作用了。
var path = require("path");
module.exports = {
entry: './src/index.jsx',
output: {
path: path.resolve(__dirname, "dist"),
filename: 'index.js'
},
module: {
loaders: [
{
test: /\.jsx$/,
loader: 'jsx-loader',
exclude: /node_modules/
}
]
},
externals: {
'react': 'React',
'react-dom': 'ReactDOM'
},
resolve: {
extensions: ['', '*.js', '*.jsx']
}
};
- src/
- index.jsx
- StringOption.jsx
- dist/
- index.js
- react.js
- react-dom.js
resolve: {
extensions: ['', '.js', '.jsx']
}
module: {
loaders: [
{
test: /\.jsx$/,
loader: 'babel-loader',
exclude: /node_modules/
}
]
}
loaders: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
// include: __dirname + '/src',
include: path.join(__dirname, '/src'),
loader: 'babel-loader',
query: {
presets: ['react','es2015']
}
}]