簡體   English   中英

如何將節點模塊導入我的ribs.js應用程序?

[英]How can I import a node module into my backbone.js app?

我正在嘗試圍繞node.js模塊,需求以及如何在骨干.js應用程序中使用模塊展開討論。

現在,我正在使用一個以代碼開頭的快遞服務器:

var express = require('express'),
http = require('http'),
config = require("./config"),
oauth = require("oauth"),
bcrypt = require("bcrypt"),
sqlite = require("sqlite3"),
_ = require("underscore"),
exec = require('child_process').exec,


app = express(),
server = http.createServer(app).listen( process.env.PORT || config.port);

然后我有一個定義所有視圖和模型的router.js文件。

如下所示的config.js文件:

require.config({

baseUrl: '/',

paths: {
    'util'                : 'assets/lib/util',
    'jquery'              : 'assets/lib/jquery',
    'underscore'          : 'assets/lib/underscore',         
    'backbone'            : 'assets/lib/backbone'
},

shim: {
    'underscore'          : { exports  : '_' },
    'backbone'            : { deps : ['underscore', 'jquery'], exports : 'Backbone' },
    'bootstrap'           : { deps : ['jquery'], exports : 'Bootstrap' },
    'parsley'             : { deps: ['jquery'] },
    'socket'              : { deps : ['underscore', 'jquery'], exports : 'socket' }
}

});

require(['main']);

我的router.js文件像這樣開始(我拿出了一堆代碼)

define(['app','jquery','underscore','backbone',], function(app, $, _, Backbone){

var WebRouter = Backbone.Router.extend({

  routes: {
    "":     "index"
  },

  initialize: function(options) {

  }

return WebRouter;
});

我會把我的main.js文件丟進去

require([
"app",
"router",
"models/SettingsModel"
],
function(app, WebRouter, SettingsModel) {

// Just use GET and POST to support all browsers
Backbone.emulateHTTP = true;

app.router = new WebRouter();

Backbone.history.start({ pushState: true, root: app.root });

});

好了,現在到了棘手的部分。 我想使用一個節點模塊,特別是在https://github.com/BoyCook/TwitterJSClient中找到的twitter-js-client模塊

因此,在我的TwitterView.js中,我可以運行以下代碼:

var twitter = new Twitter(config);

我嘗試過的步驟

  • 將twitter-js-client放在我的package.json中,運行npm install,它安裝得很好,但是我不知道如何訪問該模塊
  • 手動運行npm install twitter-js-client,由於上述原因無法運行
  • 手動將關鍵字“ twitter”鏈接到npm模塊的Twitter.js文件
    • 這行得通,但隨后出現錯誤,例如“未加載節點模塊oauth尚未使用_。
    • 我在twitter.js文件中注意到,它需要許多軟件包,包括oauth

我對Node / backbone有點陌生,我正在尋找有關Node,Require和Backbone如何相互配合的說明。 如果有人對如何構建此應用程序有任何建議或建設性的批評,我將不勝感激。 如果有在骨干網視圖中加載NPM模塊的解決方案,我將不勝感激。 我需要像bower這樣的軟件包管理器嗎? 我對Jquery和下划線沒有任何問題,但似乎無法加載此npm模塊。

謝謝!

您可以使用browserify

  • 用require語句編寫客戶端腳本。

     var Twitter = require('twitter').Twitter; 
  • 針對腳本運行browserify以生成單個bundle.js文件

  • 在頁面上添加結果文件。

     <script src="bundle.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM