- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以今天是我玩 gulp 和 grunt 或任何 js 任务运行器的第一天。我到了一个地方,我可以在我的 js 文件中更改我的代码,然后运行
gulp browserify
var gulp = require('./gulp')({
});
gulp.task('watch', function() {
// Watch .js files
gulp.watch('jsfolder/**/*.js', ['scripts']);
});
gulp.task('release', ['build']);
gulp.task('build', ['scripts', 'browserify']);
gulp.task('default', ['watch']);
gulp watch
14:37:21] Starting 'clean'...
[14:37:21] Finished 'clean' after 3.18 ms
[14:37:21] Starting 'concat'...
[14:37:21] Finished 'concat' after 263 μs
[14:37:21] Starting 'checksum'...
[14:37:21] Finished 'checksum' after 19 ms
[14:37:21] Starting 'scripts'...
[14:37:21] Finished 'scripts' after 455 μs
[14:38:41] Starting 'clean'...
[14:38:41] Finished 'clean' after 2.9 ms
[14:38:41] Starting 'concat'...
[14:38:41] Finished 'concat' after 218 μs
[14:38:41] Starting 'checksum'...
[14:38:41] Finished 'checksum' after 18 ms
[14:38:41] Starting 'scripts'...
[14:38:41] Finished 'scripts' after 302 μs
gulp.watch('ui.id.go.com/public/**/*.js', ['scripts','browserify']);
最佳答案
您应该使用 Watchify与 Browserify以较低的性能成本观察文件更改。当您的应用程序开始扩展时,您的代码库将花费大量时间来打包,因为 Browserify 会重建每个文件,即使在最新的修改中只有一个文件发生了变化。
Watchify 只重建它需要的东西。初始构建(当您运行 gulp 任务时)与以前相同,但在每次更改时,您都会看到不同之处。
在 5578610 字节 JavaScript 应用程序,初始构建需要 6.67s , 并在文件更改时重建 ~400ms .仅使用 Browserify,有 6.67s 在每一个变化。
首先,安装 NPM 包:
npm install browserify watchify --save-dev
gulpfile.js
中导入 Browserify 和 Watchify :
var browserify = require('browserify');
var watchify = require('watchify');
_
作为商品)。
client.js
是这里的应用程序入口点:
var bundler = watchify(browserify(_.assign(watchify.args, {
entries: ['./src/client.js'],
debug: true
})));
bundler.on('log', gutil.log); // Output build logs to terminal using gulp-util.
bundle()
使用 Watchify 的功能:
function bundle() {
return bundler.bundle()
// Log errors if they happen.
.on('error', gutil.log.bind(gutil, 'Browserify Error'))
.pipe(source('client.js'))
// Optional, remove if you don't need to buffer file contents.
.pipe(buffer())
// Optional, remove if you dont want sourcemaps.
// Loads map from Browserify file using gulp-sourcemaps.
.pipe(sourcemaps.init({loadMaps: true}))
// Add transformation tasks to the pipeline here.
.pipe(sourcemaps.write('./')) // Writes .map file.
.pipe(size(config.size)) // Checks output file size with gulp.size.
.pipe(gulp.dest('./build'));
}
gulp.task('scripts', bundle);
gulp.task('watch', ['scripts'], function() {
bundler.on('update', bundle); // On any dependency update, runs the bundler.
});
gulp watch
你已经准备好工作了。
关于gruntjs - gulp watch 和 browserify。观看但不会再次构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25456017/
我有 带有插件系统的软件包。每个插件都是一个包 可以通过调用 use 方法来加载插件。并将插件导出作为参数传递: package = require('thePackage').use( requir
我知道 browserify 可以通过转换来使用 UMD 模块,但是当我想使用 browserify 构建一个库时,我该如何构建一个 UMD 模块?我可以使用任何转换吗? 最佳答案 如果您想使用 br
我有 third-party-module-b使用 third_party_module_a全局并拥有 require('third-party-module-a'); 在入口点。 问题是third-
我正在使用 Browserify 和 Grunt 来捆绑我们的 RendrJS webapp。我想分析这个包,看看它包含哪些模块,看看是否有多余的代码。这可能会发生,因为在 Rendr 中,一些 js
在 browserify 手册中,exclude part ,它给出了一个使用排除的例子: $ npm install jquery $ browserify -r jquery --standalo
在我的前端代码中,我使用 require()引入依赖于不同版本的 Underscore.js 的库。结果,当我使用 browserify 将所有内容捆绑在一起时,输出包含多个 Underscore 副
我正在使用 SpineJS(它导出一个 commonjs 模块),它需要在全局范围内可用,因为我在任何地方都使用它,但似乎我必须这样做 Spine = require('spine')在每个使用 Sp
假设我有一个模块,其源代码不是 ECMA 5(例如,它是 Coffescript 或 Typescript 或其他),并且以带有源映射的编译形式分发。如何将此源映射包含在 Browserify 包中?
我想创建一个独立的 browserify 包,它将导出的对象直接附加到 window 对象,而不是嵌套在附加到 window 的包装器对象下。 这样做,browserify 会忽略窗口: browse
当您将代码与 Browserify 捆绑在一起时,您使用的每个模 block 都内联在结果输出中,并标有其本地文件路径。因此,您可以在捆绑代码中看到文件路径字符串。 但理论上,这些字符串都可以重写为“
我需要将一些模块强制放入我的包中,因为它们是通过如下代码动态需要的: var moduleName = "someModule"; var myModule = require(moduleName)
我正在尝试通过使用 browserify-shim 将某些模块从包中填充出来来重构使用 Browserify 的库。具体来说,该库使用 require("codemirror") 但我想提供一个不包含
我在新项目中使用了 browserify。到目前为止,它运行得非常好。 不过我有一个大问题。如何分别调试每个 js 文件。它将所有文件捆绑在一起,并在发生错误时指向捆绑。 我正在使用 chrome 和
来自 watchify 的文档, 我懂了: When creating the browserify instance b you MUST set these properties in the c
使用 browserify,我试图要求一个已经浏览器化的模块,但是包无法解析已经浏览器化的模块。 例如,我有一个文件 bundle-1.js 已与命令捆绑在一起: browserify -r ./bu
关于 external requires 的 Browserify 文档部分展示如何使包中的模块可用于全局环境: browserify -r through -r duplexer -r ./my-f
现在,gulp-browserify is no longer supported我正在寻找一个简单的教程,如何现在使用带有 gulp 的 browserify。 This似乎是一种选择,但它仍然相当
我是 Nodejs 和 browserify 的新手。我从这个开始link . 我有文件 main.js,其中包含此代码 var unique = require('uniq'); var data
我最近从 Grunt 过渡到 Gulp。但是我还是个新手,谁能告诉我使用 Gulp-Browserify 和只使用 Browserify 之间的区别是什么? 我知道 Gulp-Browserify 现
描述:我有 package.json 和 bower.json 用于处理我当前架构中的依赖项。我应该在哪个文件中添加 “jquery.slider(版本 1.1.0)”以及怎么做? 目前,我已经在 b
我是一名优秀的程序员,十分优秀!