我可以 npm 运行 watch 和 php artisan serve 吗?
Can I npm run watch with php artisan serve?
我可以在同一个 npm 脚本中 运行 npm watch 和 php artisan serve 吗?我尝试了以下方法:npm watch 和 browser-sync 都有效,但是 php artisan serve 没有被触发。
package.json
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch && npm run artisan",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"artisan": "php artisan serve"
},
webpack.mix.js
mix.browserSync('http://localhost:8000/');
有几种方法可以 运行 多进程。在您的情况下,可以在 package.json
:
中添加类似的内容
{
...
"scripts": {
...
"serve": "php artisan serve --host=domain.test --port=8080 & npm run watch"
},
...
}
但我宁愿在您的本地计算机上使用 apache 或 nginx 来 运行 您的 php 应用程序。 Laravel 有两个用于在本地计算机上开发 php 应用程序的精美软件包:
Valet
https://laravel.com/docs/7.x/valet
Homestead
https://laravel.com/docs/7.x/homestead
当您使用其中之一时,您不再需要 运行 php artisan serve
。
这样您也不必混淆 artisan 和 npm scripts/commands。当 运行 在同一个 window 中同时使用这两个命令时,它将同时输出您的 php 服务器和 webpack 输出。那只是伤害;)
package.json包含javascript配置,artisan基于php。在 package.json.
中放置 php 命令感觉有点奇怪
如果您是通过 Windows cmd 使用和控制 cli,而不是通过 IDE,您可以执行以下操作:
"scripts": {
...
"run": "start npm run serve && start npm run watch"
"serve": "php artisan serve"
},
...或者您可以在 IDE 中有一个 运行,在 windows 中有另一个 运行 cmd:
"scripts": {
...
"run": "npm run serve && start npm run watch"
"serve": "php artisan serve"
},
我可以在同一个 npm 脚本中 运行 npm watch 和 php artisan serve 吗?我尝试了以下方法:npm watch 和 browser-sync 都有效,但是 php artisan serve 没有被触发。
package.json
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch && npm run artisan",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"artisan": "php artisan serve"
},
webpack.mix.js
mix.browserSync('http://localhost:8000/');
有几种方法可以 运行 多进程。在您的情况下,可以在 package.json
:
{
...
"scripts": {
...
"serve": "php artisan serve --host=domain.test --port=8080 & npm run watch"
},
...
}
但我宁愿在您的本地计算机上使用 apache 或 nginx 来 运行 您的 php 应用程序。 Laravel 有两个用于在本地计算机上开发 php 应用程序的精美软件包:
Valet https://laravel.com/docs/7.x/valet
Homestead https://laravel.com/docs/7.x/homestead
当您使用其中之一时,您不再需要 运行 php artisan serve
。
这样您也不必混淆 artisan 和 npm scripts/commands。当 运行 在同一个 window 中同时使用这两个命令时,它将同时输出您的 php 服务器和 webpack 输出。那只是伤害;) package.json包含javascript配置,artisan基于php。在 package.json.
中放置 php 命令感觉有点奇怪如果您是通过 Windows cmd 使用和控制 cli,而不是通过 IDE,您可以执行以下操作:
"scripts": {
...
"run": "start npm run serve && start npm run watch"
"serve": "php artisan serve"
},
...或者您可以在 IDE 中有一个 运行,在 windows 中有另一个 运行 cmd:
"scripts": {
...
"run": "npm run serve && start npm run watch"
"serve": "php artisan serve"
},