Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – gulp.js browserify:动态生成特定于开发的文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序,其中包含一些特定于开发的调试代码.目前,所有开发代码都由文件顶部名为dev的变量保护.这是我的应用程序的一个示例:

var dev = true;

if (dev) {
  console.log("Hello developer");
} else {
  console.log("Hello production");
}

当我去部署我的应用程序时,我必须手动将dev变量形式从true更改为false.这很糟糕.

我正在从手工构建的迁移到gulp.js,我希望干净地解决这个开发与生产构建问题.我正在考虑以下事项:

// Inside main.js
var dev = require('./isdev');
if (dev) //...

// Inside isdev.js:
module.exports = true;

现在,当我构建生产时,而不是手动将dev标志设置为false,我想从module.exports = true替换isdev.js; to module.exports = false;.我的具体问题是,如何自动gulp使gulp开发生成dev = true的文件,gulp生成生成dev = false的文件.

解决方法

这是对那些好奇的人的更新.

首先,我有一个options.js:

exports.dev = false;

我也有一个options_dev.js:

exports.dev = true;

在gulpfile.js中,我有以下代码来解析输入参数:

// Parse the arguments. Use `gulp --prod` to build a production extension
var argv = parseArgs(process.argv.slice(2));
var dev = !argv['prod'];  // Whether to build a development extension or not

最后,当我管道浏览时,我有以下内容

var resolve = require('browser-resolve');
// ...
.pipe(browserify({
  debug: dev,resolve: function(pkg,opts) {
    // Replace options.js with options_dev.js if this is a dev build
    if (dev) {
      opts.modules['./options'] = 'src/options_dev.js';
    }
    return resolve.apply(this,arguments);
  }
}))

通过使用自定义解析函数,使用options_dev动态交换./options进行开发构建,可以实现神奇. browserify文档说:

当我们运行gulp时,我们构建了一个开发版本.当我们运行gulp –prod时,我们构建了一个生产版本. require(‘./ options’).dev的值允许我们动态更改服务器端点等内容.酷!

大佬总结

以上是大佬教程为你收集整理的node.js – gulp.js browserify:动态生成特定于开发的文件全部内容,希望文章能够帮你解决node.js – gulp.js browserify:动态生成特定于开发的文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: