Обзор с помощью Zurb Foundation Framework
РЕШЕНИЕ ПОСЛЕ РЕШЕНИЯ
Вот генератор Yeoman для создания проекта с помощью Foundation и Browserify: https://github.com/dougmacklin/generator-foundation-browserify
Я пытаюсь выяснить, как правильно связать базовый фреймворк js с http://browserify.org/.
В папке моего проекта я устанавливаю его вместе с jQuery (от которого это зависит):
npm install jquery foundation-sites --save
Тогда по моему main.js
У меня есть следующее:
var $ = jQuery = require('jquery');
var foundation = require('foundation-sites');
$(document).foundation();
Я включаю $ = jQuery = ...
потому что если я не получу jQuery is not defined
ошибка.
Однако компоненты js не работают. Например, элементы оповещения не закрываются должным образом.
<div data-alert class="alert-box">
<!-- close functionality not working -->
<a href="#" class="close">×</a>
</div>
Если это поможет, вот plunkr, который включает в себя мой index.html
, main.js
, bundle.js
, package.json
а также gulpfile.js
,
Я все еще промокаю ногами от browserify, должен ли я использовать для этого browserify-shim или я делаю что-то еще неправильно?
2 ответа
С фундаментом 6 и недавним jquery ("^2.1.0") шимминг больше не нужен. Вы можете просто использовать
global.$ = global.jQuery = require('jquery');
require('what-input');
require('foundation-sites');
$(document).foundation();
в вашем main.js
файл. Обратите внимание, что установка обоих $
а также jQuery
для глобального (т. е. присоединения их к объекту окна) требуется в качестве основы 6 по той или иной причине выбрать зависимость от глобального jQuery (вместо использования require
).
Отметим также, что alert
механизм был отброшен в фундаменте 6, если вы хотите увидеть рабочий пример, используйте вместо этого закрывающую выноску предупреждения.
Я полагаю, что вы должны просмотреть библиотеку. В настоящее время я делаю это в своем проекте, и он работает правильно. Я использую бауэр для управления фундаментом, но он должен быть похож на npm. Соответствующая настройка в моем package.json следующая:
"browser": {
"jquery": "./src/bower_components/jquery/dist/jquery.min.js",
"foundation": "./src/bower_components/foundation/js/foundation.js"
},
"browserify-shim": {
"jquery": "$",
"foundation": "foundation"
},
"browserify": {
"transform": [
"browserify-shim"
]
}
Тогда я могу просто потребовать фундамент, как обычно, var foundation = require('foundation');
после запроса jQuery и использовать его для инициализации в документе.