我需要一些帮助,因为我对javascript和nodejs世界相当新,而且我被卡住了..
我有一个nodejs app项目,我在其中安装了依赖项(npm install),然后在我的.js文件中,我加载了我的模块,如:var Backbone = require('backbone')
,它运行良好。
但后来我尝试安装Backbone.DOMStorage(https://github.com/mikeedwards/Backbone.DOMStorage)模块......
我做了npm install https://github.com/mikeedwards/Backbone.DOMStorage
并且安装正常(js文件存在于node_modules文件夹中),但是当我尝试使用require('Backbone.DOMStorage')
加载它时,它无法找到并加载模块... < / p>
根据我在多次搜索后的理解,似乎该插件不符合CommonJS ..
那么如何将此脚本转换为能够像任何其他模块一样使用它?
谢谢!
答案 0 :(得分:0)
我会告诉你4种方法做你想做的事。
第一种方式
它是一个js插件,这就是你需要像这样将它添加到HTML页面的原因。 包含Backbone.js后包含Backbone.domStorage:
<script type="text/javascript" src="backbone.js"></script>
<script type="text/javascript" src="backbone.domStorage.js"></script>
并像这样使用
window.SomeCollection = Backbone.Collection.extend({
localStorage: new Backbone.LocalStorage("SomeLocalCollection"), // Unique name within your app.
// ... everything else is normal.
});
第二种方式 如果您使用的是browserify。
使用npm install backbone.localstorage进行安装,并需要模块。
Backbone.LocalStorage = require("backbone.localstorage");
第三种方式
RequireJS
包括RequireJS:
<script type="text/javascript" src="lib/require.js"></script>
RequireJS config:
require.config({
paths: {
jquery: "lib/jquery",
underscore: "lib/underscore",
backbone: "lib/backbone",
localstorage: "lib/backbone.localStorage"
}
});
将您的收藏定义为模块:
define("SomeCollection", ["localstorage"], function() {
var SomeCollection = Backbone.Collection.extend({
localStorage: new Backbone.LocalStorage("SomeCollection") // Unique name within your app.
});
return SomeCollection;
});
需要你的收藏:
require(["SomeCollection"], function(SomeCollection) {
// ready to use SomeCollection
});
第四种方式
从GitHub下载js文件,并在需要它之后将它放到你的库文件目录中
var domStorage = requier('yourLibPath/backbone.domStorage.js');