Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何在单独的browserify供应商捆绑包中包含node_modules大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将AngularJS应用程序转换为使用browserify。我已经使用Napa在Node_modules中安装了所有的bower软件包。现在我想将它们浏览到一个单独的供应商捆绑包中,并将它们声明为“外部”依赖关系。我想给他们别名,@R_142_9447@“需要(”角度“)”而不是“需要(”角/角“)”,因为它似乎可以做外部的事情。

我看到的例子(例如http://benclinkinbeard.com/posts/external-bundles-for-faster-browserify-builds/)都假定我已经将供应商文件下载到“lib”目录中。我想要从node_modules捆绑我的供应商文件。看起来应该很简单,但我看不到怎么做。

解决方法

我只是想做同样的事情。我认为您需要使用 – 需要供应商捆绑包和–export为应用程序,以便依赖关系不会捆绑两次。

这对我来说使用browserify的api和gulp(lodash和pixijs是我的node_modules):

var gulp = require('gulp');
var browserify = require('browserify');
var handleErrors = require('../util/handleErrors');
var source = require('vinyl-source-stream');


gulp.task('libs',function () {
  return browserify()
    .require('lodash')
    .require('pixi.js')
    .bundle()
    .on('error',handleErrors)
    .pipe(source('libs.js'))
    .pipe(gulp.dest('./build/'));
});

gulp.task('scripts',function () {
  return browserify('./src/main.js')
    .external('lodash')
    .external('pixi.js')
    .bundle()
    .on('error',handleErrors)
    .pipe(source('main.js'))
    .pipe(gulp.dest('./build/'));
});

gulp.task('watch',function(){
  gulp.watch('src/**',['scripts']);
});

gulp.task('default',['libs','scripts','watch']);

当然,这个解决方案是一个痛苦的维护…所以我修补browserify接受数组的require和外部,然后你可以做到这一点,我认为这是更好的:

var gulp         = require('gulp');
var browserify   = require('browserify');
var handleErrors = require('../util/handleErrors');
var source       = require('vinyl-source-stream');

var packageJson = require('../../package.json');
var dependencies = Object.keys(packageJson && packageJson.dependencies || {});


gulp.task('libs',function () {
  return browserify()
    .require(dependencies)
    .bundle()
    .on('error',function () {
  return browserify('./src/main.js')
    .external(dependencies)
    .bundle()
    .on('error',function(){
  gulp.watch('package.json',['libs']);
  gulp.watch('src/**','watch']);

这是最好的我可以想出来…请让我知道,如果你找到一个更好的方法

大佬总结

以上是大佬教程为你收集整理的node.js – 如何在单独的browserify供应商捆绑包中包含node_modules全部内容,希望文章能够帮你解决node.js – 如何在单独的browserify供应商捆绑包中包含node_modules所遇到的程序开发问题。

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

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