Questions tagged «gulp»

Gulp是一个JavaScript构建系统,是基于Grunt的基于Node.js的任务运行器。Gulp使用流和基于配置的代码来实现更简单,更直观的构建过程。

8
NPM,Bower,Browserify,Gulp,Grunt和Webpack
我试图总结我对最流行的JavaScript包管理器,捆绑器和任务运行器的了解。如果我错了,请纠正我: npm&bower是包裹经理。他们只是下载依赖项,而不知道如何自行构建项目。他们知道什么是调用webpack/ gulp/ grunt获取所有的依赖后。 bower类似于npm,但是构建了一个扁平的依赖树(与npm递归地执行不同)。含义将npm获取每个依赖项的依赖项(可能会获取相同的几次),同时bower希望您手动包含子依赖项。有时,bower和npm分别分别用于前端和后端(因为前端中每个兆字节可能都很重要)。 grunt并且gulp是任务执行者,可以自动化所有可以自动化的内容(例如,编译CSS / Sass,优化图像,制作捆绑包并缩小/翻译)。 gruntvs. gulp(类似于mavenvs. gradle或配置vs.代码)。Grunt基于配置单独的独立任务,每个任务打开/处理/关闭文件。Gulp需要较少的代码量,并且基于Node流,这使其可以构建管道链(无需重新打开同一文件)并使其更快。 webpack(webpack-dev-server)-对我来说,这是一个任务执行程序,它具有对更改进行热重新加载的功能,使您无需理会所有JS / CSS监视程序。 npm// bower插件可以代替任务运行器。它们的能力经常相交,因此如果您需要使用gulp/ gruntover npm+插件,则会有不同的含义。但是任务运行者绝对适合复杂任务(例如“在每个构建中创建捆绑包,从ES6移植到ES5,在所有浏览器模拟器上运行它,制作屏幕截图并通过ftp部署到保管箱”)。 browserify允许为浏览器打包节点模块。browserifyvs node's require实际上是AMD vs CommonJS。 问题: 什么是webpack&webpack-dev-server?官方文档说这是一个模块捆绑器,但对我来说只是一个任务运行器。有什么不同? 您将在哪里使用browserify?我们不能对node / ES6导入做同样的事情吗? 您何时会使用gulp/ gruntover npm+插件? 当您需要组合使用时,请提供示例
1886 gruntjs  npm  gulp  bower  webpack 

13
如何依次依次运行Gulp任务
在如下代码段中: gulp.task "coffee", -> gulp.src("src/server/**/*.coffee") .pipe(coffee {bare: true}).on("error",gutil.log) .pipe(gulp.dest "bin") gulp.task "clean",-> gulp.src("bin", {read:false}) .pipe clean force:true gulp.task 'develop',['clean','coffee'], -> console.log "run something else" 在develop任务中,我要运行clean,完成后再运行,然后再coffee运行其他内容。但我无法弄清楚。这件作品不起作用。请指教。

30
由于MIME类型未加载样式表
我正在使用一个网站gulp进行编译和浏览器同步,以使浏览器与我的更改保持同步。 gulp任务可以正确编译所有内容,但是在网站上,我看不到任何样式,并且控制台显示以下错误消息: 拒绝从' http:// localhost:3000 / assets / styles / custom-style.css ' 应用样式,因为它的MIME类型('text / html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。 现在,我真的不明白为什么会这样。 HTML包含这样的文件(我很确定是正确的): <link rel="stylesheet" type="text/css" href="assets/styles/custom-style.css"/> 样式表目前是Bootstrap和超赞字体之间的合并(尚无自定义)。 路径也是正确的,因为这是文件夹结构: index.html assets |-styles |-custom-style.css 但是我一直在得到错误。 会是什么呢?这是gulp / browsersync的东西(也许是设置吗?)?

11
是否可以将标志传递给Gulp以使其以不同方式运行任务?
通常在Gulp中,任务如下所示: gulp.task('my-task', function() { return gulp.src(options.SCSS_SOURCE) .pipe(sass({style:'nested'})) .pipe(autoprefixer('last 10 version')) .pipe(concat('style.css')) .pipe(gulp.dest(options.SCSS_DEST)); }); 是否可以将命令行标志传递给gulp(不是任务),并使其有条件地运行任务?例如 $ gulp my-task -a 1 然后在我的gulpfile.js中: gulp.task('my-task', function() { if (a == 1) { var source = options.SCSS_SOURCE; } else { var source = options.OTHER_SOURCE; } return gulp.src(source) .pipe(sass({style:'nested'})) .pipe(autoprefixer('last 10 version')) .pipe(concat('style.css')) .pipe(gulp.dest(options.SCSS_DEST)); });
369 javascript  node.js  gulp 

30
如何修复ReferenceError:节点中未定义primordials
我已经通过npm install安装了节点模块,然后尝试在命令提示符下执行gulp sass-watch。之后,我得到以下回应。 [18:18:32] Requiring external module babel-register fs.js:27 const { Math, Object, Reflect } = primordials; ^ ReferenceError: primordials is not defined 在gulp sass-watch之前尝试过这个 npm -g install gulp-cli
363 node.js  sass  gulp  gulp-sass 


17
尝试在节点0.12上重新安装`node-sass`吗?
我想使用Google Web Starter Kit。我安装了node.js v0.12.0 node-sass和&gulp。 然后运行: $ sudo npm install 当我键入gulp serve然后出现此错误: Using gulpfile ~/web-starter-kit/gulpfile.js Starting 'styles'... 'styles' errored after 93 ms Error: `libsass` bindings not found. Try reinstalling `node-sass`? at getBinding 我重新安装了node和gulp,但这没有帮助。 接下来我该怎么办?
263 node.js  sass  gulp 


2
从Gulp任务中排除文件/目录
我有一个gulp rjs任务,它将我的所有自定义.JS文件(所有非供应商库)串联并丑化。 我想做的是从此任务中排除一些文件/目录(控制器和指令)。 这是我的树: - application - resources - js main.js - vendor - jquery - modernzr - angular - controllers - controller1 - controller2 - controller3 - directives - directives1 - directives2 - directives3 - widgets - widget1 - widget2 - widget3 - widget4 - modules - modules1 - …

30
找不到gulp命令-安装gulp后发生错误
我已经在全球和本地安装了gulp npm install gulp npm install gulp -g npm install gulp-util npm install gulp-util -g 当尝试运行gulp时我得到 'gulp' is not recognized as an internal or external command, operable program or batch file. 运行npm list gulp(或-g),然后输入gulp@3.7.0全局或本地gulp安装的位置。 我试过运行node gulpfile.js指向我的gulpfile,它运行无误,当然,它以开头require('gulp')。 关于让gulp在Windows(8.1)上运行有什么建议吗?
223 windows  node.js  gulp 

16
Gulp错误:以下任务未完成:您是否忘记了异步完成信号?
我有以下gulpfile.js,我正在通过命令行gulp消息执行: var gulp = require('gulp'); gulp.task('message', function() { console.log("HTTP Server Started"); }); 我收到以下错误消息: [14:14:41] Using gulpfile ~\Documents\node\first\gulpfile.js [14:14:41] Starting 'message'... HTTP Server Started [14:14:41] The following tasks did not complete: message [14:14:41] Did you forget to signal async completion? 我在Windows 10系统上使用gulp 4。这是来自的输出gulp --version: [14:15:15] CLI version 0.4.0 [14:15:15] Local version …
211 gulp 

5
如何防止Moment.js使用Webpack加载语言环境?
moment.js使用webpack时,有什么方法可以阻止加载所有语言环境(我只需要英语)?我正在查看源代码,似乎如果hasModule为webpack定义了它,那么它将始终尝试require()每个语言环境。我很确定这需要一个拉取请求来解决。但是,有什么办法可以通过webpack配置修复此问题? 这是我的webpack配置以加载momentjs: resolve: { alias: { moment: path.join(__dirname, "src/lib/bower/moment/moment.js") }, }, 然后,只要我需要它,我就可以做require('moment')。这可以工作,但是会在我的捆绑包中添加约250 kB的不需要的语言文件。另外我正在使用momentjs和gulp的凉亭版本。 另外,如果webpack配置无法解决此问题,则这里是指向加载语言环境的函数的链接。我尝试&& module.exports.loadLocales在if语句中添加内容,但我想webpack实际上无法正常工作。它只是require没什么不管是什么。我认为它现在使用了正则表达式,所以我真的不知道您什至会去修复它。

11
将参数传递给Gulp任务
通常我们可以通过类似的命令从控制台运行gulp任务gulp mytask。无论如何,我可以将参数传递给gulp任务吗?如果可能,请显示示例如何完成。
194 gulp 

17
与Gulp一起使用Concat脚本
举例来说,假设您要在Backbone或任何其他平台上构建项目,并且需要按特定顺序加载脚本,例如,underscore.js需要在之前加载backbone.js。 我如何获得它来连接脚本,以便它们井井有条? // JS concat, strip debugging and minify gulp.task('scripts', function() { gulp.src(['./source/js/*.js', './source/js/**/*.js']) .pipe(concat('script.js')) .pipe(stripDebug()) .pipe(uglify()) .pipe(gulp.dest('./build/js/')); }); 我的脚本顺序正确source/index.html,但是由于文件是按字母顺序组织的,因此gulp将underscore.js在之后连接backbone.js,而我的脚本顺序source/index.html并不重要,它会查看目录中的文件。 那么有人对此有想法吗? 我有最好的办法是重新命名与供应商的脚本1,2,3给他们以正确的顺序,但我不知道如果我喜欢这个。 当我了解到更多信息后,我发现Browserify是一个很好的解决方案,乍一看可能很麻烦,但是它很棒。
191 javascript  gulp 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.