php - npm run watch 编译一次后停止编译(laravel 8 homestead + Vue)

标签 php node.js laravel vue.js npm

当我使用 npm run watch 时,它会编译我的更改并更新页面,当我进行另一次编辑时,它也会编译它。但是,在第一次编辑后,它将停止更新我的页面。我没有收到任何错误。当我退出它并再次运行 npm run watch 时,它将再次编译这些更改,因此我认为不是我正在编辑的代码导致了它。

我尝试过的事情:

  • npm 运行 watch-poll
  • npm run 观看热门
  • mix.browserSync

这是我的混合文件:

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js')
    .vue()
    .sass('resources/sass/app.scss', 'public/css');

这是我的 package.json:

{
    "private": true,
    "scripts": {
        "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": {
        "axios": "^0.21.1",
        "bootstrap": "^4.0.0",
        "browser-sync": "^2.26.14",
        "browser-sync-webpack-plugin": "^2.3.0",
        "jquery": "^3.2",
        "laravel-mix": "^6.0.16",
        "lodash": "^4.17.19",
        "popper.js": "^1.12",
        "postcss": "^8.1.14",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.20.1",
        "sass-loader": "^8.0.0",
        "vue": "^2.5.17",
        "vue-loader": "^15.9.5",
        "vue-template-compiler": "^2.6.10"
    },
    "dependencies": {
        "vue-axios": "^3.2.4",
        "vue-router": "^3.5.1"
    }
}

最佳答案

我遇到了同样的问题,并尝试了一切。最终我发现问题在于我如何导入路由。

{
    path: '/test',
    name: 'test',
    component: () => import("../views/pages/test.vue")
},

我忘了使用大写字母。

component: () => import("../views/pages/test.vue")

应该是:

component: () => import("../views/pages/Test.vue")

显然,当我运行“npm run watch”时,laravel mix 可以导入我的 Test.vue,即使我写了“test.vue”。但是,在初始启动之后,laravel mix 使用动态加载,此时如果我不使用大写字母,它将忽略更改。

关于php - npm run watch 编译一次后停止编译(laravel 8 homestead + Vue),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67064572/

相关文章:

php - 如何在 PHP 中比较两个日期?

javascript - 在 headless 服务器云上运行的特定网站上的 Puppeteer 超时

php - Laravel "SQLSTATE[HY000]: General error: 1364 Field ' 登录'没有默认值...”

javascript - 需要帮助限制数组/优化 axios 响应

php - 如何防止 PHP 在 isset(POST ['submit' ]) 后动态更新项目列表?

php - 动态菜单 php bootstrap mysql

javascript - 很难让 JavaScript XMLHttpRequest 执行任何操作,停止刷新页面

javascript - 将嵌套 JSON 字符串转换为 JSON

javascript - 如何在服务器上检查客户端是否已通过身份验证?

php - 如何使用 Eloquent 方式获得行位置