我有奇怪的錯誤。導入的還原結果未定義
當我嘗試導入終極版是這樣的:
import Redux from 'redux'
,當我嘗試去安慰它
console.log('Redux is', Redux);
它給了我終極版是不確定的。
我使用webpack與babel loader,所有標準配置,沒有什麼看起來不對。我也刪除了所有模塊並重新添加它們,但仍然有同樣的結果。現在我的index.js只是簡單如下:
import Redux from 'redux';
console.log('Redux is ', Redux);
我的WebPack配置是象下面這樣:'
module.exports = {
devtool: 'inline-source-map',
entry: ['./src/index.jsx', 'babel-polyfill'],
output: {
path: path.resolve('dist'),
filename: 'bundle.js',
publicPath: '/',
},
resolve: {
extensions: ['.js', '.jsx'],
},
module: {
rules: [
{
test: /\.jsx?$/,
use: {
loader: 'babel-loader',
},
include: __dirname,
exclude: /node_modules/,
}
],
},
devServer: {
historyApiFallback: true,
},
plugins: [HtmlWebpackPluginConfig],
};
而且我用的紗線。下面是我的package.json
"dependencies": {
"redux": "^3.7.2"
},
"devDependencies": {
"babel-cli": "^6.24.1",
"babel-core": "^6.25.0",
"babel-loader": "^7.1.1",
"babel-polyfill": "^6.23.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"html-webpack-plugin": "^2.29.0",
"path": "^0.12.7",
"webpack": "^3.4.1",
"webpack-dev-server": "^2.6.1"
},
如果切換通過的index.html添加腳本標籤使用CDN,它工作正常。
=========編輯========
爲吉拉德的答案,做這樣的工作
import { createStore } from redux;
// do stuff with createStore
但爲什麼我不能這樣做這種方式:
import Redux from 'redux';
const { createStore } = Redux;
後者給了我 「不能讀取屬性未定義 'createStore'」
=========更多修改========
我只是看看終極版的源代碼,它是寫在打字稿並沒有「出口默認」或「導出爲命名空間」,這可能是爲什麼我不能使用
import Redux from 'redux';
const { createStore } = Redux;
糾正我,如果我錯了。
請幫忙。
謝謝
感謝您的快速回復吉拉德。你的解決方案沒有問題。我剛剛更新了我的問題,爲什麼我無法使用上面顯示的第二種方法實現相同的功能? – trenunu
你是對的,這是因爲redux沒有默認導出 –