javascript - Gulp Watch 未捕获 Browserify 文件中的更改

标签 javascript laravel gulp browserify vue.js

我正在使用 laravel-elixir-vueify npm 包。每当我在“脚本”或“样式”函数中更改文件时,Gulp watch 对我来说都很好。但是,每当我更改“browserify”函数中的 1 个文件时,gulp watch 都不会运行。这是我的代码:

var elixir = require('laravel-elixir');
require('laravel-elixir-vueify');

elixir(function(mix) {
    mix.sass('app.scss')
        .browserify(['main.js'
        ], './public/js/main.js')

        .scripts([
            'libs/jquery-2.1.1.js',
            'libs/bootstrap.js',
            'libs/vue.js',
        ], './public/js/libs.js')

      .styles([
            'libs/bootstrap.min.css',
            'libs/style.css'
        ], './public/css/libs.css');
});

我也试过只使用下面的无济于事:

mix.sass('app.scss')
        .browserify(['main.js')
(etc...)

我不仅希望 gulp 在我更改 main.js 中的任何内容时运行,而且我有一个导入到 main.js 中的 Vue 组件文件。我经常更改此文件,我真的很希望 gulp watch 在我更改该文件时捕获它。有什么建议吗?

如果上述不可能,是否有办法运行 gulp,以便它只重新编译 browserify 文件(并跳过脚本/样式文件)?

最佳答案

你可以试试

elixir(function(mix) {
   mix.sass('app.scss');

   mix.browserify(['main.js'
    ], './public/js/main.js');

   mix.scripts([
        'libs/jquery-2.1.1.js',
        'libs/bootstrap.js',
        'libs/vue.js',
    ], './public/js/libs.js');

   mix.styles([
        'libs/bootstrap.min.css',
        'libs/style.css'
    ], './public/css/libs.css');
 });

记得在你的main.js文件中写下这行代码

import Vue from 'Vue';

以及用于导入 vue 组件:

import YourComponent from './yourPATH/YourComponent.vue';

希望它有用。

我的 gulpfile.js

var elixir = require('laravel-elixir');

require('laravel-elixir-vueify');


elixir(function(mix) {
    mix.sass('app.scss','resources/css');

    mix.browserify('main.js');

    mix.styles([
        'libs/bootstrap.css',
        'app.css'
    ]);

    mix.scripts([
        'libs/bootstrap.js',
        'libs/jquery-2.2.2.js'
    ]);
});

我的基本 main.js

import Vue from 'Vue';
import Alert from './components/Alert.vue';

new Vue({
    el: 'body',

    components: {Alert}
})

关于javascript - Gulp Watch 未捕获 Browserify 文件中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36359628/

相关文章:

javascript - Angular js $注入(inject)器 :modulerr Failed to instantiate module with mangle

node.js - 引用错误: sass is not defined

laravel - 如何在 Laravel 中将 Vue.js 切换到生产模式?

php - Laravel 在生产中以编程方式从 web.php 调用 artisan 命令

php - Laravel 什么是使用 HasFactory?

javascript - Angular ng 注释不适用于 babel

javascript - 这个 "_.startsWith"从哪里来?

javascript - 饼图不适用于使用 AngularJS 和 nvd3 的 Json 数据

javascript - 单击指向 php 脚本的链接时停止重新加载页面

javascript - () 紧跟在函数后面意味着该函数将立即被触发?