我完全混淆了如何插入个人基础javascript。它似乎总是打破我的代码。例如,我需要使用下拉菜单js。在文件中说明
初始化 文件foundation.dropdownMenu.js必须包含在您的JavaScript中才能使用此插件
以及foundation.core.js。
此插件还需要这些实用程序库:
foundation.util.keyboard.js
foundation.util.box.js
foundation.util.nest.js
这看起来很简单,所以我按此顺序执行了以下操作
bower_components/foundation-sites/js/foundation.core.js //check
bower_components/foundation-sites/js/foundation.util.mediaQuery.js
bower_components/foundation-sites/js/foundation.util.timerAndImageLoader.js
bower_components/foundation-sites/js/foundation.util.keyboard.js //check
bower_components/foundation-sites/js/foundation.util.box.js //check
bower_components/foundation-sites/js/foundation.util.nest.js //check
bower_components/foundation-sites/js/foundation.dropdown.js
bower_components/foundation-sites/js/foundation.dropdownMenu.js //check
bower_components/foundation-sites/js/foundation.equalizer.js
我遵循比使用插件更有效的核心优先级
然而它告诉我foundation.util.nest.js:6 Uncaught SyntaxError: Unexpected token =
如果我把所有的foundation.min.js文件都放错了,所以我知道它必须是依赖项缺失或订单不正确
有什么资源可以清楚基础js的依赖吗?相反,每次我必须追踪并错误。
答案 0 :(得分:2)
我在同一个问题上遇到了同样的问题。我在我的项目中使用Foundation作为GIT子树,并且实际上在我上周制作的网站上使用了它。
似乎问题是函数参数声明的较新版本。在我工作的代码v6.1.2中,foundation.util.nest.js中的代码是:
Foundation.Nest = {
Feather: function(menu, type){
menu.attr('role', 'menubar');
type = type || 'zf';
与最新版本6.2.0中的代码:
const Nest = {
Feather(menu, type = 'zf') {
menu.attr('role', 'menubar');
"类型"的默认/后备声明这似乎毁了一切。我期待自己解决问题。
根据this link,我目前的Chrome版本(48)尚不支持默认的功能参数。
答案 1 :(得分:1)
从Foundation v6.2.0开始,JavaScript代码库已更新为ES6。 https://github.com/zurb/foundation-sites/releases
您需要将Babel添加到构建过程中以编译ES6代码。
他们在这里提供了一个教程: https://github.com/zurb/foundation-sites/wiki/Upgrading-to-Foundation-6.2
希望这有帮助。