【发布时间】:2022-01-02 00:26:09
【问题描述】:
我已经在 laravel 项目中安装了 react 使用
composer require laravel/ui
php artisan ui react
我可以用php artisan serve 很好地运行 laravel 服务器。现在我也想运行npm start。这是我的package.json 文件。
{
"private": true,
"scripts": {
"start": "node resources/js/app.js",
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "mix --production"
},
"devDependencies": {
"@babel/preset-react": "^7.13.13",
"axios": "^0.21",
"bootstrap": "^4.6.0",
"jquery": "^3.6",
"laravel-mix": "^6.0.6",
"": "^4.17.19",
"popper.js": "^1.16.1",
"postcss": "^8.1.14",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"resolve-url-loader": "^4.0.0",
"sass": "^1.32.11",
"sass-loader": "^11.0.1"
},
"dependencies": {
"react-router-dom": "^6.0.2"
}
}
当我运行npm start 时,我发现此错误消息:
window._ = require('lodash');
^
ReferenceError: window is not defined
如何解决这个问题?谢谢。
编辑:
通常我习惯于使用npx create-react-app my-app 命令创建反应项目。然后我运行npm start 在localhost:3000 运行服务器。但是这次我在 laravel/ui 的帮助下在 laravel 中安装了 react。现在我想像我习惯的那样使用npm start 命令启动反应服务器。
【问题讨论】:
-
您将窗口变量设置为 lodash,向后读取错误,看来您的问题来自 lodash。检查 lodash 是否已安装或正确导入。我敢打赌,无论您将该窗口变量更改为什么,都不会被定义,因为该变量正在引用未定义的内容!
-
@saas_joel 我没有手动安装 lodash。它与 react 或 laravel 安装一起安装。如何检查它是否正确安装或导入?
-
试试这个 var _ = require('lodash');而不是使用窗口
-
@saas_joel 我在哪里添加 var _ = require('lodash'); ?
-
你的
start脚本是从哪里得到的??