在一个流中合并多个浏览器包
我正在研究一个大型的网络应用程序。 我正在使用Gulp来构建JavaScript文件和Browserify。
问题是,当我处于开发模式时,每次我进行更改(使用手表)时,都需要花费很多时间来重建我的JavaScript包,
对于我的应用程序,我需要用特殊的顺序将所有javascript文件打包到一个文件中:
require('...');
) .jsx
文件( .jsx
文件) 因为我不想浪费时间在文件之间保存等待browserify捆绑所有文件(平均20-25秒...),我决定拆分流程与3捆绑异步构建,然后合并所有3个临时捆绑包到一个。 (这样,第一次构建只需要15秒,如果我使用watchify在文件中进行一次更改,则只需2秒即可完成重建,而不需要20秒)。
我的问题是,当我仅使用一个管道捆绑最终文件时,使用browserify和debug: true
选项,我可以在chrome developper控制台中单独访问所有源文件,这要归功于browserify调试选项,因为只有一个源代码文件生成。
但是现在有了3个管道,每个管道都建立了自己的源代码,当我在最后一个合并了3个临时包时,使用gulp-sourcemaps
插件和loadMaps: true
选项,Web浏览器控制台发生错误(所以应用程序不会没有用)。 如果我在browserify选项中关闭debug: true
,它可以正常工作,但我无法调试每个JS文件separalty。 我只有最大的100K行文件...
请问有人可以帮我准备好正确的源码表吗?
这里是抛出的错误
if (file.isNull() || file.sourceMap) {
^
TypeError: Object (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({
has no method 'isNull'
at DestroyableTransform.sourceMapInit [as _transform] (/space/iadvize.com/Deploy/releases/20151230085529/desk/node_modules/gulp-sourcemaps/index.js:20:14)
由于此错误,我无法合并所有browserify包生成的源地图。
链接地址: http://www.djcxy.com/p/32959.html