我是新来的,所以很抱歉我错过了一些非常明显的东西…
我有以下结构:
adex_js
---- app.jsx (entry point)
---- TestComponent.jsx在app.jsx中,我有:
import TestComponent from './TestComponent'我得到了:
ERROR in ./js/adex_js/app.jsx
Module not found: Error: Can't resolve './TestComponent' in '.........../asset_src/js/adex_js'有人告诉我这可能与巴别塔的配置有关...这是我的.babelrc:
{
"env": {
"production": {
"plugins": [
"transform-react-remove-prop-types",
"transform-react-constant-elements"
]
},
"development": {
"sourceMaps": "inline"
},
"test": {
"plugins": [
"istanbul"
],
"sourceMaps": "inline",
"presets": [
[
"env",
{
"targets": {
"browsers": [
"last 2 versions",
"safari >= 7"
],
"node": "current"
},
"useBuiltIns": true,
"debug": true
}
],
"react",
"stage-0"
]
}
},
"plugins": [
"transform-class-properties",
"transform-runtime",
"transform-object-rest-spread",
"transform-decorators-legacy",
"syntax-dynamic-import",
"dynamic-import-node",
"react-hot-loader/babel",
[
"react-css-modules",
{
"generateScopedName": "[name]__[local]___[hash:base64:5]"
}
],
],
"presets": [
[
"env",
{
"targets": {
"browsers": [
"last 2 versions",
"safari >= 7"
],
"node": "current"
},
"modules": false,
"useBuiltIns": true,
"debug": false
}
],
"react",
"stage-0"
]
}和webpack配置中的巴别塔部分:
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
plugins: [
'transform-react-jsx',
[
'react-css-modules',
{
context,
generateScopedName: '[name]__[local]___[hash:base64:5]'
}
]
]
}你知道是什么导致了这个问题吗?我没有得到任何其他错误,所有似乎都安装得很好,导入react工作正常,只有从文件系统导入时才会失败……
任何提示都将非常受欢迎!
发布于 2018-04-30 20:04:33
添加扩展是可行的,但更好的解决方案是添加:
resolve: {
extensions: ['.js', '.jsx'],
},在我的webpack配置文件中,我不再需要在导入中添加扩展名了…
发布于 2018-03-01 21:16:14
在导入中使用完整的文件名:
import TestComponent from './TestComponent.jsx'https://stackoverflow.com/questions/49050392
复制相似问题