Мы пытаемся минимизировать / запутать библиотеку js, чтобы мы могли использовать ее в других проектах. Справочная информация: я сделал js, но я новичок в AMD или мне требуется JS.
Вот уменьшенная версия библиотеки, сохраняя только формат:
(function (global, factory) {
if ( typeof exports === 'object' && typeof module !== 'undefined'){
factory(exports);
}
else if (typeof define === 'function' && define.amd){
define(['exports'], factory);
}
else{
global['SimpleMath'] = factory({});
}}(typeof global !== "undefined" ? global : self.window || self.global,
(function (exports) {
'use strict';
exports.square = function square(value){
return value * value;
}
exports['square'] = exports.square;
return exports;})));
Внутри основного. html у нас есть
requirejs(['./libs/SimpleMath'], function (smath){
console.log(smath);
console.log(require.s.contexts._.defined);
});
Это работает, и мы можно увидеть распечатанный загруженный объект.
Поскольку мы оптимизируем / запутываем код sh, мы пытаемся потребовать js 'оптимизатор (один файл js):
node ../../r.js -o name=SimpleMath out=SimpleMath.min.js baseUrl=.
И мы получаем нечто, похожее на уменьшенный файл. Однако, если сейчас я попытаюсь загрузить минимизированную версию тем же способом:
requirejs(['./libs/SimpleMath.min'], function (smath){
console.log(smath);
console.log(require.s.contexts._.defined);
});
вместо распечатки мы получим 'undefined'.
Я не могу сказать, оригинал ли код был неправильным, или мы не используем оптимизатор правильно, или мы полностью неправильно поняли концепцию. Любая помощь или указатели высоко ценится. Заранее спасибо.