javascript-Browserify-shim依赖项未定义?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-Browserify-shim依赖项未定义?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1793字,纯文字阅读大概需要3分钟。
内容图文
![javascript-Browserify-shim依赖项未定义?](/upload/InfoBanner/zyjiaocheng/679/215a5e1c84ad466a90c39b9cf76b53fa.jpg)
我正在尝试将现有应用程序分解为模块.我选择使用Browserify来做到这一点,因为它的语法非常模仿NodeJS的要求.
我的项目依赖于几个外部模块,其中一个是Backbone.因此,我正在使用browserify-shim.但是,我遇到了一个问题.
在我的package.json中,我定义了以下内容:
“`
"browserify": {
"transform": [
"browserify-shim"
]
},
"browser": {
"jQuery": "public/js/vendor/jquery-2.0.3.min.js",
"lodash": "public/js/vendor/lodash.js",
"Backbone": "public/js/vendor/backbone-1.1.2.js"
},
"browserify-shim": {
"jQuery": "global:$",
"lodash": "_",
"Backbone": {
"exports": "global:Backbone",
"depends": [
"jQuery",
"lodash"
]
},
"BackboneLocalStorage": {
"depends": [
"Backbone"
]
}
},
“`
在我的一个文件中,我需要像这样的Backbone:
var Backbone = require('Backbone');
编译我的捆绑软件时,Browserify不会抱怨,所以一切似乎都很好.但是,在浏览器中加载我的应用程序时,我收到错误消息:无法读取未定义的属性“ Model”(我在这里调用Backbone.Model.extend()),这对我来说意义不大.
当我将“ exports”:“ global:Backbone”更改为“ exports”:“ Backbone”时,Browserify停止并显示以下消息
Error: module "Backbone" not found
我没有弄错我在做什么,我觉得Browserify-shim文档在这里没有太大帮助.他们给出了一个很好的例子,但是并没有真正解释正在发生的事情或什么会导致这种错误.谁能启发我?
解决方法:
我相信您正在使用Browserify-shim 3.0,因为您的package.json中包含配置(如果我输入错了,请纠正我).根据3.0的文档,exposing a global config似乎向shim指示您已从捆绑软件的外部包含了该库.在示例情况下,CDN中包含three.js.
尝试删除global :,结果为:
"Backbone": {
"exports": "Backbone",
"depends": [
"jQuery",
"lodash"
]
},
或放弃整个出口部分. Backbone的另一个挑战是确保您的exposed Backbone’s $property正确.
我一直在自己玩这个游戏,我同意这些文档……充其量是令人困惑的.就我而言,我只是简单地npm用–save安装Backbone和jQuery,并要求这两个都没有填充(我的插件等和jQuery现在被填充了,但是Backbone本身没有).
希望这可以帮助!
内容总结
以上是互联网集市为您收集整理的javascript-Browserify-shim依赖项未定义?全部内容,希望文章能够帮你解决javascript-Browserify-shim依赖项未定义?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。