我可以在同一个npm脚本中运行npm watch和php artisan serve吗?

问题描述 投票:0回答:1

我可以在同一个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/');
laravel npm-scripts
1个回答
0
投票

有几种方法可以运行多个进程。在你的情况下,也许可以在你的 package.json:

{
    ...
    "scripts": {
        ...
        "serve": "php artisan serve --host=domain.test --port=8080 & npm run watch"
    },
    ...
}

但是我更愿意在你的本地机器上使用apache或者nginx来运行你的php应用. Laravel有两个漂亮的包可以在你的本地机器上开发php应用:

Valethttps:/laravel.comdocs7.xvalet。

家园https:/laravel.comdocs7.xhomestead

当你使用其中的一个时,你不需要执行 php artisan serve 更多。

这样你也不用把你的artisan和npm脚本命令混在一起。当在同一个窗口中运行这两个命令时,它会同时输出你的php服务器和webpack输出。这就很伤人了;)package.json包含javascript配置,而artisan是基于php的。把php命令放在pack.json里感觉有点奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.