首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel没有在Gulp任务中运行

Laravel没有在Gulp任务中运行
EN

Stack Overflow用户
提问于 2016-11-21 12:48:40
回答 1查看 598关注 0票数 2

我正在尝试将我的灵丹妙药任务分成不同的Gulp任务,所以我只需要运行其中的一个子集。

这是我的gulpfile.js

代码语言:javascript
复制
var gulp = require('gulp'),
    elixir = require('laravel-elixir');

/**
 * CSS
 */

gulp.task('styles', function()
{
    elixir( function( mix )
    {
        mix.sass( 'auth.scss' )
            .sass( 'main.scss' )
            .sass( 'dashboard.scss' )
            .sass( 'contact.scss' )
            .sass( 'login.scss' )
            .sass( 'campaign_creator.scss' )
            .sass( 'campaign_stats.scss' );
    } );
} );

/**
 * JS
 */

gulp.task('scripts', function()
{
    elixir( function( mix )
    {
        mix.scriptsIn( 'public/js/src/shared', 'public/js/dist/shared/all.js' )
            .scriptsIn( 'public/js/src/logins', 'public/js/dist/logins/all.js' )
            .scriptsIn( 'public/js/src/campaign', 'public/js/dist/campaigns/all.js' )

            // vendor scripts used in multiple places can be kept separate rather than concatenated with the page's JS files
            .copy( 'public/vendor/alertifyjs/dist/js/alertify.js', 'public/js/dist/vendor/alertifyjs/alertify.js' );
    } );
} );

gulp.task( 'default', [ 'styles', 'scripts' ] );

运行stylesscripts任务都不会产生任何效果。如果我在终端中只使用gulp运行默认任务,则stylesscripts任务将不起任何作用,但随后长生不老任务成功运行。

终端输出:

代码语言:javascript
复制
gulp
[12:28:54] Using gulpfile /path/to/my/app/application/gulpfile.js
[12:28:54] Starting 'styles'...
[12:30:03] Finished 'styles' after 1.13 min
[12:30:03] Starting 'scripts'...
[12:30:03] Finished 'scripts' after 63 ms
[12:30:03] Starting 'default'...
[12:30:03] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/auth.scss


Saving To...
   - public/css/auth.css

[12:30:25] Finished 'default' after 22 s
[12:30:27] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:27] Finished 'sass' after 24 s
[12:30:27] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/main.scss


Saving To...
   - public/css/main.css

[12:30:27] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:27] Finished 'sass' after 504 ms
[12:30:27] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/dashboard.scss


Saving To...
   - public/css/dashboard.css

[12:30:27] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:27] Finished 'sass' after 200 ms
[12:30:27] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/contact.scss


Saving To...
   - public/css/contact.css

[12:30:28] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:28] Finished 'sass' after 289 ms
[12:30:28] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/login.scss


Saving To...
   - public/css/login.css

[12:30:28] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:28] Finished 'sass' after 210 ms
[12:30:28] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/campaign_creator.scss


Saving To...
   - public/css/campaign_creator.css

[12:30:28] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:28] Finished 'sass' after 218 ms
[12:30:28] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/campaign_stats.scss


Saving To...
   - public/css/campaign_stats.css

[12:30:29] gulp-notify: [Laravel Elixir] Sass Compiled!
[12:30:29] Finished 'sass' after 477 ms
[12:30:29] Starting 'scriptsIn'...

Fetching ScriptsIn Source Files...
   - public/js/src/shared/**/*.js


Saving To...
   - public/js/dist/shared/all.js

[12:30:56] gulp-notify: [Laravel Elixir] Scripts Merged!
[12:30:56] Finished 'scriptsIn' after 27 s
[12:30:56] Starting 'scriptsIn'...

Fetching ScriptsIn Source Files...
   - public/js/src/logins/**/*.js


Saving To...
   - public/js/dist/logins/all.js

[12:30:57] gulp-notify: [Laravel Elixir] Scripts Merged!
[12:30:57] Finished 'scriptsIn' after 738 ms
[12:30:57] Starting 'scriptsIn'...

Fetching ScriptsIn Source Files...
   - public/js/src/campaign/**/*.js


Saving To...
   - public/js/dist/campaigns/all.js

[12:30:57] gulp-notify: [Laravel Elixir] Scripts Merged!
[12:30:57] Finished 'scriptsIn' after 609 ms
[12:30:57] Starting 'copy'...

Fetching Copy Source Files...
   - public/vendor/alertifyjs/dist/js/alertify.js


Saving To...
   - public/js/dist/vendor/alertifyjs/alertify.js

[12:30:58] Finished 'copy' after 298 ms

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-25 16:23:52

因此,Elixir几乎没有保留的任务,例如:styles (用于运行所有样式的操作)、scriptstdd (用于测试)。对于您的问题,有一些树的解决方案:

  1. 更改任务名称(scripts => scripts_MODULE_NAME),然后可以由gulp scripts_MODULE_NAME运行
  2. 开始使用elixir.extend,阅读更多文献论
  3. 只需使用Elixir提供的gulp styles,就可以运行所有样式任务(在示例中为sass),而不需要脚本任务。

我还建议您在gulpfile.js中每个模块拥有一个*.scss文件,并在这个main.scss中包含所有的*.scss文件。它几乎没有什么优点:

  1. 您的IDE将理解该依赖项(例如,如果在一个文件中设置变量,则IDE将知道您可以在另一个文件中使用该变量,因为您包括设置此变量的文件)
  2. 现在使用您的配置,如果您使用gulp watch并想要添加一些新的样式文件,您需要更新gulpfile.js,退出gulp watch,然后再次运行。如果在一个SCSS文件中有所有依赖项,则不需要重新启动gulp watch,只需将新文件添加到*.scss文件中,就会知道所做的更改。

要在一个SCSS文件中从示例中导入SCSS文件,可以这样做:

代码语言:javascript
复制
@import "auth";
@import "main";
@import "dashboard";
@import "contact";
@import "login";
@import "campaign_creator";
@import "campaign_stats";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40720609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档