之前,我有这个:
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/json2.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery-msdropdown/js/jquery.dd.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.scrollTo-1.4.2/jquery.scrollTo-min.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery-ui-1.8.7.custom/js/jquery-ui-1.8.7.custom.min.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/alertbar.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.masonry.min.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/fileuploader.js" type="text/javascript"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.jeditable.mini.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.growfield2.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.placeholder.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.color.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="{{MEDIA_URL}}js/plugins/tipsy/src/javascripts/jquery.tipsy.js"></script>
当我加载页面时一切正常,没有错误。我的 friend 告诉我将它们全部合并到 1 个文件中。所以我做了:
find somedir/ -name '*.js' -exec cat {} + > ../allplugins.js
现在,当我包含“allplugins.js”时,我遇到了未捕获的类型错误。对象 # 没有方法“可编辑”
最佳答案
您应该按照导入它们的相同顺序连接您的 javascript 插件。
您可以通过将它们列在一个文件(例如 plugins.list)中来做到这一点,每个文件名一行。然后使用以下方法构建 allplugins.js:
cat plugins.list | while read jsfile; do
echo
echo "//===== `basename "$jsfile"` ====="
cat "$jsfile"
done > ../allplugins.js
例如,如果你有一个文件 inc.js 有
obj = { 'editable': function(){ return 42; } };
然后是尝试使用 inc.js 中定义的对象的 script.js:
obj.editable()
如果把这两个文件的顺序倒过来,可以看到obj正在被使用,但还没有被定义。
关于javascript - 为什么将我所有的 jquery 插件放入一个文件中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4790038/