Browserify bundle.js демистифицирован
Поэтому, когда мы просматриваем модули, он выплевывает эту загадочную функцию:
(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
})({
1:[function(require,module,exports){....
Теперь я искал источник, объяснение или источник с читаемыми переменными, но не смог его найти.
Например:
var a=typeof require=="function"&&require;
Кажется, что здесь require()
функция создана, как это определяет?
Это в основном тот факт, что эти переменные не читаются, я ошибаюсь, чтобы предположить следующее?
(function e(require,module,exports){
function s(o,u){
if(!module[o]){
if(!require[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=module[o]={exports:{}};
require[o][0].call(l.exports,function(e){
var module = require[o][1][e];
return s(module ? module : e)
},l , l.exports, e, require, module, exports)
}
return module[o].exports
}
var i=typeof require=="function"&&require;
for(var o=0; o<exports.length; o++) s(exports[o]);
return s
})({
1:[function(require,module,exports){...
Но это все еще оставляет s(o,u)
, который принимает 2 аргумента, но единственный раз, когда он вызывается, получает только 1 аргумент..
},l , l.exports, e, require, module, exports)
Куда это относится?
Кто-нибудь может помочь заполнить пробелы?
1 ответ
Решение
Хватит искать, вот комментируемый исходный файл;)
https://github.com/substack/browser-pack/blob/master/prelude.js