- Может ли минимизированная библиотека JavaScript быть «обязательной» и входить в комплект с помощью Browserify? Другими словами, требует ли Browserify, чтобы файл JavaScript был в исходном формате?
- Если файл JavaScript не является модулем CommonJS (ничего не экспортирует), можно ли его объединить с помощью Browserify? Другими словами, что делает
require('xyz.js')
, если xyz.js не является модулем CommonJS.
Использование browserify с уменьшенной библиотекой JavaScript
Ответы (1)
- Если он правильно экспортирует свои свойства (например, с помощью экспорта или module.exports) и загружает модули с помощью
require()
, тогда да. - Конечно, его можно связать, но вы не можете получить доступ к его свойствам/данным из результата вызова
require()
. Однако, если он использует, например, глобальный объект для своего экспорта, вы можете получить к нему доступ после того, как вам потребуется файл.
xyz.js:
window.myExport = "hello";
основной.js:
var xyz = require("xyz");
xyz.myExport; // undefined
window.myExport; // "hello"
person
Razem
schedule
21.07.2014
Спасибо @Radek. Чтобы продолжить ваш ответ № 2, рекомендуется ли в любом случае требовать такие файлы? Или они должны быть включены в html-файл с помощью тегов ‹script›?
- person Naresh; 22.07.2014
Сложно сказать. Мне нравится требовать все мои файлы, даже если они не являются модулями CommonJS, потому что мне не очень нравится иметь больше тегов script, чем один. Что тоже является хорошей практикой. Так что дело за вами, просто выберите вариант, который лучше и логичнее для вас. ;-)
- person Razem; 22.07.2014
Спасибо @Radek. Хороший совет.
- person Naresh; 22.07.2014
require('xyz.js')
запускает xyz.js в первый раз, когда это требуется, затем ничего не делает. - person generalhenry   schedule 22.07.2014require('./vendor/xyz.js')
. Browserify лучше всего работает с commonjs, но отлично работает с любым js. - person generalhenry   schedule 22.07.2014