小编Bri*_*ald的帖子

如何使用browserify和gulp输出多个包

我有浏览器捆绑文件,它工作得很好.但是,如果我需要生成多个捆绑包呢?

我想最终dist/appBundle.jsdist/publicBundle.js

gulp.task("js", function(){

    return browserify([
            "./js/app.js",
            "./js/public.js"
        ])
        .bundle()
        .pipe(source("bundle.js"))
        .pipe(gulp.dest("./dist"));

});
Run Code Online (Sandbox Code Playgroud)

显然这不会起作用,因为我只指定了一个输出(bundle.js).我可以通过重复上面这样的声明来实现这一点(但由于重复,它感觉不对):

gulp.task("js", function(){

    browserify([
            "./js/app.js"
        ])
        .bundle()
        .pipe(source("appBundle.js"))
        .pipe(gulp.dest("./dist"));


    browserify([
            "./js/public.js"
        ])
        .bundle()
        .pipe(source("publicBundle.js"))
        .pipe(gulp.dest("./dist"));

});
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解决这个问题?谢谢!

javascript node.js npm browserify gulp

31
推荐指数
1
解决办法
2万
查看次数

WebM也适用于音频,还是视频?

我已经看到提到WebM被用于音频,但是阅读WebM项目站点和谷歌搜索转换MP3到webm让我相信WebM只是用于视频.我肯定会看到很多WebM到mp3的转换工具,但不是相反.

我可以看到它绝对用于视频,但音频怎么样?如果它也适用于音频文件,我该如何生成WebM文件?

audio mp3 webm html5-audio web-audio-api

10
推荐指数
1
解决办法
8838
查看次数

为什么npm init实际上初始化了一个grunt项目?

我正在努力理解Node生态系统以及npm及其包如何协同工作,我发现npm init初始化一个"grunt项目"并将package.json文件添加到您的目录中非常奇怪.

由于节点包管理器管理许多不同的"包",我希望更像 npm grunt init

任何人都可以告诉我这里发生了什么以及是什么让咕噜如此特别以至于它成为主要npm init命令?

**重要注意事项**在更好地学习和理解所有这些之后,我强烈建议您不要使用Grunt NOR Gulp而是取出中间人并使用npm脚本来满足您的前端构建需求.有关更多信息,请参阅Cory House的这篇精彩文章

javascript node.js npm gruntjs

9
推荐指数
1
解决办法
6309
查看次数

我怎样才能"中止"一口气

在我的gulp构建中,我想在我的服务器单元测试失败的情况下"中止"构建过程,但我不知道如何实现这一点.

目前,我正在使用node的request模块来运行一些服务器端单元测试,如下所示:

gulp.task("run-server-tests", function(){

    var serverTestUrl = "http://myurl"; // returns test results in json format

    request(serverTestUrl, function (error, response, body) {

        var responseData = JSON.parse(body);

        if(responseData.isSuccess){

            console.log(responseData.message);

            // nice! continue with rest of build (js, css tasks, etc.)

        }

        else {

            open(serverTestUrl + "&render"); // show unit test failures

            // err.... gulp.abortProcessing(); ????

        }

    });

});
Run Code Online (Sandbox Code Playgroud)

================================================== ============

**更新

在马丁和尼克的有用回应之后,我将我的构建剥离到最基本的例子,我可以想出两个建议,其中:

  1. 使用自动传递给任务函数的回调方法来中止构建,并且
  2. 使用promises中止构建

这是我更新的gulpfile.js:

var gulp = require("gulp");
var plugins = require('gulp-load-plugins')();
var Q = require("q");

gulp.task("task-1-option-1", function(callback){

    plugins.util.log("task …
Run Code Online (Sandbox Code Playgroud)

javascript node.js gulp

8
推荐指数
1
解决办法
4840
查看次数

使用 manifest.json 时如何允许方向旋转?

当我在我的 Web 应用程序中使用manifest.json文件并在 Chrome for Android 上“添加到主屏幕”时,它以全屏模式加载(很棒)但也被锁定为纵向(不太好)。

我想全屏加载,但仍然允许方向旋转。这可能吗?

{
  "name": "MyApp",
  "icons": [
    {
      "src": "launcher-icon-0-75x.png",
      "sizes": "36x36",
      "type": "image/png",
      "density": 0.75
    }
  ],
  "start_url": "/home",
  "display": "standalone",
  "orientation": "natural" // I have tried natural, any, leaving this property out altogether without success
}
Run Code Online (Sandbox Code Playgroud)

根据 boyofgreen 的说法,您应该能够提供许多方向选项之一

javascript android json google-chrome android-manifest

7
推荐指数
1
解决办法
2415
查看次数

browserify-shim在var范围内时不导出隐式全局变量

根据browserify-shim文档,您可以在以下语法中使用以下语法指定需要从旧模块公开的全局变量browserify-shim package.json:

{
    "browserify-shim": {
        "legacyModule": "myVar"
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望通过require('legacyModule')和访问遗留模块window.myVar.

根据我的经验,如果我试图使用的非公共模块使用window.myVar = x或仅仅myVar = x是模块,则模块在全局公开并且可以require()按预期使用.

但是,当遗留模块使用时var myVar = x,这就是导致问题的原因,因为模块只能通过require('legacyModule')而不是通过访问window.myVar.

browserify-垫片文件指出:

此外,它还处理以下真实边缘情况:

  • var foo = ...在脚本级别声明一个并假设它附加到window对象的模块.因为它们将被运行的唯一方式是在全球范围内 - "咳咳,......不?!"

javascript node.js browserify browserify-shim

6
推荐指数
1
解决办法
358
查看次数

在浏览器布局中为响应图像保留空间(防止回流)

我一直在进行更改,以使我的网站更具响应性,总的来说,这一切进展顺利.但是,我遇到了一个问题:

之前,我总是在img元素上使用height和width属性,以便在浏览器加载图像时为图像保留空间.这可以防止布局在浏览器加载时抖动并计算图像所需的空间.

然而,通过使用max-width: 100%和取出高度和宽度属性使我的图像更具响应性后,浏览器不再为图像保留空间(因为它不再知道图像将提前多高或多宽,因为我无法不明确告诉它)

我的目标是让响应式图像在初始加载时占用页面布局中的适当空间.有谁知道这个解决方案?

*编辑(解决方案) - 这是我在这个主题上找到的最好的文章.好方法!

javascript browser frontend image css3

5
推荐指数
1
解决办法
1122
查看次数

什么触发 Elastic Beanstalk 拉入更新的 Docker 映像

我有一个 Elastic Beanstalk 应用程序运行并配置为提供 Docker 容器(“通用 Docker”配置)并链接到 Docker Hub 上的私有映像。

使用 推送新版本后,如何提示 Elastic Beanstalk 应用程序下载最新版本的 docker hub 映像docker push

我是否需要“重新启动应用服务器”、“重建环境”或其他什么,还是“应该”自动将其拉入?在文档中没有看到这个问题。

** 编辑 ** 需要明确的是,eb deploy不会拉入更新的 Docker 映像,但会将文件从您的应用程序目录推送到您的 ec2 实例。

因此,在一天结束时,我可能不打算docker push用于部署,而只是在您确实需要更改环境配置而不是代码更改的情况下保持映像最新,或者在引入新开发人员,您可以使用docker pull.

目前eb deploy my-environment-name非常适合基于 Docker 的 Elastic Beanstalk 部署。

amazon-ec2 amazon-web-services docker amazon-elastic-beanstalk dockerhub

5
推荐指数
1
解决办法
1336
查看次数

有"额外"的数据库查询有多糟糕?

我来自Web开发的前端世界,我们非常努力地限制发出的HTTP请求数量(通过合并css,js文件,图像等).

使用数据库连接(MySQL),显然你不希望有不必要的连接,但作为一般规则,有多个小查询有多糟糕?(他们执行得很快)

我问,因为我正在将我的应用程序移动到集群环境中以及在我在服务器内存中缓存一些内容之前(因为我在单个服务器上运行),我现在正试图使我的应用程序"无状态"并且在我当前实现意味着更小的db调用.这将帮助我实现负载平衡(避免粘性会话)并降低服务器内存使用率.

我们不是在谈论大量的查询,可能是6-8个db调用而不是2-4个调用,从少量记录返回到几千个记录.它们中的每一个都快速执行,不到30ms(一些更少),但我不知道是否存在一些我应该关注的"连接延迟".

感谢您的见解.

mysql database coldfusion database-performance lucee

5
推荐指数
2
解决办法
421
查看次数

有没有办法在使用Howler.js时指示音频下载进度/缓冲区?

我正在使用Howler.js并试图完成这样的事情:

用缓冲区下载

然而,咆哮似乎并没有支持音频"进步"事件.有谁知道如何解决这个问题?

javascript html5-audio howler.js web-audio-api

5
推荐指数
1
解决办法
726
查看次数