TypeError:__webpack_require __i(…)不是一個函數
resolve: { alias: {core: path.join(__dirname, ’core’), }, },對于一般讀者:確保您嘗試導入的東西確實存在于該軟件包中。說明發問者的問題:導入自己的代碼,例如npm模塊
您嘗試以與從node_modules文件夾中的npm包中導入內容相同的方式導入模塊的導出內容:import { something } from’packagename’;。這樣做的問題是無法立即使用。在Node.js的文檔給出為什么答案:
如果沒有以“ /”、“./”或“ ../”開頭的文件,則該模塊必須是核心模塊,或者是從node_modules文件夾加載的。
因此,您必須按照Waldo Jeffers 建議進行操作并編寫import { smartForm }from’./core’,或者可以配置webpack以便它可以通過創建別名來解決導入路徑,而別名是為解決此確切問題而創建的。
一般調試錯誤消息如果您嘗試從現有的npm包(中node_modules)中導入某些內容,但是 則會出現此錯誤。在這種情況下,請 并且您嘗試導入的給定內容確實在該軟件包中。如今,將庫分成多個npm軟件包很流行, 。
因此,如果您得到這樣的信息:
TypeError: __webpack_require__.i(...) is not a function at /home/user/code/test/index.js:165080:81 at Layer.handle [as handle_request] (/home/user/code/test/index.js:49645:5)
要獲取有關應檢查哪些導入的更多信息,只需打開由webpack生成的輸出文件,然后轉到錯誤堆棧中最上面一行所標記的行(本例中為165080)。您應該看到類似:的信息__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__['match'])。這告訴我們,中沒有match導出(或存在,但是它不是一個函數)react-router-dom,因此我們需要檢查該導入周圍的內容。
解決方法我在嘗試簡化導入時遇到webpackTypeError。以下代碼可以正常工作。在這里,我導入了一個smartForm從調用的React高階組件(HOC)core/components/form/index.js。
core / components / form / index.js (對進行命名輸出smartForm)
export smartForm from ’./smart-form’;
login-form.jsx (導入和使用smartForm)
import { smartForm } from ’core/components/form’;class LoginForm extends React.Component { ...}export default smartForm(LoginForm);
但是,我想將導入簡化為just import { smartForm } from ’core’。所以,我再出口smart-form的core/index.js和進口它core。請參見下面的代碼:
core / index.js (對進行命名導出smartForm)
export { smartForm } from ’./components/form’;// export smartForm from ’./components/form’; <--- Also tried this
login-form.jsx (導入和使用smartForm)
import { smartForm } from ’core’; class LoginForm extends React.Component {... } export default smartForm(LoginForm); // <--- Runtime exception here
這段代碼編譯沒有任何問題,但是我在行中得到了以下運行時異常export default smartForm(LoginForm);:
login-form.jsx:83未捕獲的TypeError: webpack_require .i(…)不是函數(…)
我想念什么?
PS這是我正在使用的圣經和插件版本:
'babel-core': '^6.18.2','babel-preset-es2015-webpack': '^6.4.3','babel-preset-react': '^6.16.0','babel-preset-stage-1': '^6.16.0',
相關文章:
1. 一個走錯路的23歲傻小子的提問2. python - 如何使用pykafka consumer進行數據處理并保存?3. javascript - SuperSlide.js火狐不兼容怎么回事呢4. java - 創建maven項目失敗了 求解決方法5. node.js - 函數getByName()中如何使得co執行完后才return6. java-se - 正在學習Java SE,為什么感覺學習Java就是在學習一些API。7. 運行python程序時出現“應用程序發生異常”的內存錯誤?8. python - django 里自定義的 login 方法,如何使用 login_required()9. java - 安卓電視盒子取得了root權限但是不能安裝第三方應用,請問該怎么辦?10. 一個mysql聯表查詢的問題
