我剛剛完成了Full Stack React Projects, Second Edition一書的第 2 章。
當我輸入終端yarn development來檢查我的代碼時,我收到以下錯誤訊息:
yarn run v1.22.15
warning package.json: License should be a valid SPDX license expression
$ nodemon
[nodemon] 2.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): server/**/*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `webpack --mode=development --config webpack.config.server.js && node ./dist/server.generated.js`
Hash: 7630758f261bc6024be1
Version: webpack 4.42.1
Time: 475ms
Built at: 10/06/2021 2:48:53 PM
Asset Size Chunks Chunk Names
server.generated.js 19.4 KiB main [emitted] main
Entrypoint main = server.generated.js
[0] multi ./server/server.js 28 bytes {main} [built]
[./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
[./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 497 bytes {main} [built]
[./server/devBundle.js] 1.6 KiB {main} [built]
[./server/server.js] 2.19 KiB {main} [built]
[./template.js] 1.15 KiB {main} [built]
[./webpack.config.client.js] 1.8 KiB {main} [built]
[express] external "express" 42 bytes {main} [built]
[mongodb] external "mongodb" 42 bytes {main} [built]
[path] external "path" 42 bytes {main} [built]
[webpack] external "webpack" 42 bytes {main} [built]
[webpack-dev-middleware] external "webpack-dev-middleware" 42 bytes {main} [built]
[webpack-hot-middleware] external "webpack-hot-middleware" 42 bytes {main} [built]
webpack:///./server/server.js?:23
app.use('/dist', express__WEBPACK_IMPORTED_MODULE_0___default.a.static(path__WEBPACK_IMPORTED_MODULE_2___default.a.join(CURRENT_WORKING_DIR, 'dist')));
^
ReferenceError: Cannot access 'app' before initialization
at Module.eval (webpack:///./server/server.js?:23:1)
at eval (webpack:///./server/server.js?:65:30)
at Module../server/server.js (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:132:1)
at __webpack_require__ (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:21:30)
at eval (webpack:///multi_./server/server.js?:1:18)
at Object.0 (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:166:1)
at __webpack_require__ (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:21:30)
at /Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:85:18
at Object.<anonymous> (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:88:10)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
[nodemon] app crashed - waiting for file changes before starting...
我嘗試了以下解決方案:
- https://stackoverflow.com/a/54450694/14537132
- https://stackoverflow.com/a/63298885/14537132
- 洗掉 nodemone.json 并重新創建檔案
- 洗掉節點模塊檔案并重新安裝它
我該如何解決?
uj5u.com熱心網友回復:
洗掉節點模塊檔案不會解決您的問題,因為根據錯誤日志的問題與您的應用程式中使用的任何包無關。您的應用問題很可能源自您的 server.js 檔案,如錯誤日志中所示
ReferenceError: Cannot access 'app' before initialization
at Module.eval (webpack:///./server/server.js?:23:1)
at eval (webpack:///./server/server.js?:65:30)
at Module../server/server.js (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:132:1)
at __webpack_require__ (/Users/brittanysoozinsoozin/Library/Mobile Documents/com~apple~CloudDocs/Desktop/Desktop/TMDP/Molo9/Dev/Full Stack React/Ch2/MyCode/dist/server.generated.js:21:30)
at eval (webpack:///multi_./server/server.js?:1:18)
我能看到的是,當 nodejs 嘗試訪問您在server.js檔案中第 23 行宣告的應用程式的靜態檔案時,會發生崩潰。
在第 23 行使用app變數之前,您沒有對其進行初始化。您需要執行以下操作:
const app = require('./app'); // this will import your app.js file that is in your root folder assuming you are using that type of setup.
另外,檢查“ dist ”檔案路徑是否正確。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314050.html
標籤:javascript 节点.js 反应 网络包 默恩
上一篇:未捕獲的型別錯誤:設定getter-only屬性“selectedProjectId”
下一篇:VueWebApp-加載最新版本
