小编Che*_*vas的帖子

Gulp Env和Preprocess

在Grunt中,我曾经使用过一个名为env的插件.这将允许我在特定构建中定义环境.我有3个版本.一个是DEV,它将使用单独拆分的所有文件.PROD将连接所有内容,RELEASE将连接和uglify.我想在Gulp做同样的事情.我确实看到了Gulp的预处理器,但没有定义环境.

问题是.我能做什么?显然我不想一直定义所有JS文件,我不希望3个不同的HTML页面具有不同的脚本标记.

在我的HTML中我会有这样的事情:

<!-- @if NODE_ENV == 'DEVELOPMENT' -->
<script src="js/example1.js" type="text/javascript"></script>
<script src="js/example2.js" type="text/javascript"></script>
<script src="js/example3.js" type="text/javascript"></script>
<!-- @endif -->

<!-- @if NODE_ENV == 'PRODUCTION' -->
<script src="js/project.js" type="text/javascript"></script>
<!-- @endif -->

<!-- @if NODE_ENV == 'RELEASE' -->
<script src="js/project.min.js" type="text/javascript"></script>
<!-- @endif -->
Run Code Online (Sandbox Code Playgroud)

我的咕噜插件看起来像这样:

env: {
    dev: {
        NODE_ENV: 'DEVELOPMENT'
    },
    prod: {
        NODE_ENV: 'PRODUCTION'
    },
    release: {
        NODE_ENV: 'RELEASE'
    }
},
preprocess: {
    options: {
        context: {
            name: '<%= pkg.outputName %>',
            version: '<%= pkg.version %>', …
Run Code Online (Sandbox Code Playgroud)

preprocessor env node.js gruntjs gulp

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

Browserify - 在客户端公开方法

我猜我错过了Browserify的一些东西.我想浏览我的自定义节点模块,它暴露了一些功能.我该怎么办?

我在browserify中看到的每个例子总是一个console.log或一个警报.如果它立即运行对我不好.我想按需运行我的browserify代码.

但是为了这个例子.假设我导出sum方法.举个例子:

module.exports = {
  sum = function(a, b) {
    return a + b;
  }
};
Run Code Online (Sandbox Code Playgroud)

之后我通过标准命令浏览它:browserify index.js -o bundle.js.

然后我将此文件添加到我的index.html.

在我的AngularJS应用程序或任何客户端代码中.如何访问此求和方法?

我在window.sum上找不到它.或者也许我弄错了.

javascript node.js angularjs browserify

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

标签 统计

node.js ×2

angularjs ×1

browserify ×1

env ×1

gruntjs ×1

gulp ×1

javascript ×1

preprocessor ×1