Javascript “网页包解析扩展”;“未找到模块”;
警告:我对webpack很陌生,请温柔一点 好的,我正在试着设置webpack,我用es2015和webpack导入了一切。我遇到了一个问题,现在我试图将扩展名添加到Javascript “网页包解析扩展”;“未找到模块”;,javascript,node.js,reactjs,webpack,Javascript,Node.js,Reactjs,Webpack,警告:我对webpack很陌生,请温柔一点 好的,我正在试着设置webpack,我用es2015和webpack导入了一切。我遇到了一个问题,现在我试图将扩展名添加到resolve,这样我就不必声明文件扩展名,但它总是说找不到文件或模块。知道为什么会这样吗?这是我的index.jsx和我的webpack.config.js // index.jsx import * as React from 'react' import * as ReactDOM from 'react-dom' impor
resolve
,这样我就不必声明文件扩展名,但它总是说找不到文件或模块。知道为什么会这样吗?这是我的index.jsx
和我的webpack.config.js
// index.jsx
import * as React from 'react'
import * as ReactDOM from 'react-dom'
import { Provider } from 'react-redux'
import App from './components/App'
import configureStore from './store/configureStore.js'
const store = configureStore()
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('app')
)
正如我所说,如果我将
index.jsx
中的第5行从import-App-from./components/App'
更改为import-App-from./components/App.jsx'
,它会起作用,我不知道为什么。有什么想法吗?您的模块正在缠绕您的解决方案,这会破坏配置文件。如果解析
不存在,则Webpack无法解析扩展,迫使您添加扩展。您应该始终统一缩进,以跟踪并防止这些类型的错误
当您在没有扩展的情况下导入它时,Webpack不知道如何解析扩展,因此无法正确加载它。您必须指定.jsx
,然后Babel进入并显式地将其作为.jsx
导入 这不是给你的吗?谢谢你!第一部分肯定是出了什么问题。可能已经盯着这个看了太久了lol看起来你的解决方案在模块内我不相信我没有看到lol,想把它作为答案添加吗?
// 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',
'./src/javascripts/index.jsx'
],
output: {
path: path.join(__dirname, '/dist'),
filename: 'bundle.js',
publicPath: '/public/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.DefinePlugin({
__DEV__: process.env.NODE_ENV !== 'production'
})
],
module: {
loaders: [
{
test: /\.jsx?$/,
loaders: [ 'react-hot', 'babel-loader' ],
include: path.join(__dirname, '/src')
},
{
test: /\.scss$/,
loader: [ 'style', 'css', 'sass' ]
},
{
test: /\.json$/,
loader: 'json'
}
],
preLoaders: [
{ test: /\.js$/, loader: 'source-map-loader' }
],
resolve: {
root: [
path.resolve(path.join(__dirname, 'src', 'stylesheets')),
path.resolve(path.join(__dirname, 'src', 'javascripts'))
],
alias: {
'@style': path.resolve(path.join(__dirname, 'src', 'stylesheets')),
'@script': path.resolve(path.join(__dirname, 'src', 'javascripts'))
},
extensions: [
'',
'.webpack.js',
'.web.js',
'.jsx',
'.js',
'.scss'
]
}
}
};