javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

node.js-在Express-js中使用路由

因此,我开始使用Node.js。 我在Nodejs.org上与Ryan Dahl一起观看了视频,听说他为网站推荐了Express-js。

我下载了最新版本的Express,并开始编写代码。 我在/上有一个完整的静态视图,但是一旦尝试发送参数,就会收到如下错误:

Cannot GET /wiki

我尝试按照expressjs.com上的指南进行操作,但是最新版本中更改了使用路线的方式,因此该指南无法使用。

指南:

app.get('/users/:id?', function(req, res, next){
    var id = req.params.id;
    if (id) {
        // do something
    } else {
        next();
    }
});

由Express生成:

app.get('/', routes.index);

我尝试添加其他路线时会出现问题。

app.get('/wiki', routes.wiki_show);

我尝试了很多方法,但始终收到exports.index(404)错误。

route / index.js看起来像这样:

exports.index = function(req, res) {
    res.render('index', { title: 'Test', articles: articles, current_article: current_article, sections: sections })
};

我唯一在那里做的就是添加一些参数(同一文件中的数组),而我正在工作。 但是,当我复制内容并将exports.index更改为exports.wikiexports.wiki_show时,仍然出现Cannot GET /wiki错误。

谁能向我解释我在这里想念的东西吗? - 谢谢。

trans by 2020-07-08T13:41:32Z

Javascript-猫鼬中的id和_id有什么区别?

猫鼬_idid有什么区别? 参考哪个更好?

trans by 2020-07-08T09:15:26Z

node.js-Fluxible中的“脱水”和“补水”代表什么?

我正在开发可与fluxible一起使用的最小应用程序。 几乎所有事情似乎都清楚了,但只有一件事:脱水和复水状态的概念。

我知道这是在客户端和服务器之间同步存储所需要的,但是我不知道为什么。 这行对我来说还不清楚:

 var exposed = 'window.App=' + serialize(app.dehydrate(context)) + ';';

在server.js中[[https://github.com/yahoo/fluxible/tree/master/examples/react-router)]

如果您能用“更简单的词”告诉我,我将不胜感激。

trans by 2020-07-08T06:43:53Z

javascript-在react-router v4中使用React IndexRoute

我正在通过在线教程来学习自己。

因此,这是有关使用React Router的基本示例:

<Router history={browserHistory}>
  <Route path="/" component={App}>
    <IndexRoute component={Home}/>
    <Route path="/home" component={Home}/>
    <Route path="/about" component={About}/>
    <Route path="/contact" component={Contact}/>
  </Route>
</Router>

使用我的App组件:

class App extends React.Component {
   render() {
      return (
         <div>
            <ul>
              <li><Link to="home">Home</Link></li>
              <li><Link to="about">About</Link></li>
              <li><Link to="contact">Contact</Link></li>
           </ul>
          {this.props.children}
        </div>
     )
   }
}
export default App;

但是,我在使用IndexRoute时遇到问题,因为它什么也没显示,所以我在npm上搜索react-router-dom v4的模块,并且里面没有IndexRoute。相反,它使用以下代码:

<Router>
  <div>
  <ul>
    <li><Link to="/">Home</Link></li>
    <li><Link to="/about">About</Link></li>
    <li><Link to="/contact">Contact</Link></li>
  </ul>
  <hr/>
  <Route exact path="/" component={Home}/>
  <Route path="/about" component={About}/>
  <Route path="/contact" component={Contact}/>
  </div>
</Router>

那么如何为1个路径渲染2个组件?

trans by 2020-07-08T00:14:54Z

node.js-Aptana Studio是否有NodeJS插件?

Aptana Studio是否有NodeJS插件?

  • 至少对于NodeJS代码辅助
  • 也许是一种创建NodeJS项目的方法
  • 和本地NodeJS调试
trans by 2020-07-07T19:42:09Z

node.js-使用Mongoose进行多对多映射

我的设计中有FlashcardSchemas和PackageSchemas。 一个抽认卡可以属于不同的软件包,而一个软件包可以包含不同的抽认卡。

在下面,您可以看到我的猫鼬模式定义的精简版本:

// package-schema.js
var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;

var PackageSchema = new Schema({
    id          : ObjectId,
    title       : { type: String, required: true },
    flashcards  : [ FlashcardSchema ]
});

var exports = module.exports = mongoose.model('Package', PackageSchema);

// flashcard-schema.js
var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;

var FlashcardSchema = new Schema({
    id      : ObjectId,
    type        : { type: String, default: '' },
    story       : { type: String, default: '' },
    packages    : [ PackageSchema ]
});

var exports = module.exports = mongoose.model('Flashcard', FlashcardSchema);

从上面的注释中可以看到,这两个架构定义属于单独的文件,并且相互引用。

我得到一个异常,指出未按预期定义PackageSchema。 我如何映射与猫鼬的多对多关系?

trans by 2020-07-07T19:04:41Z

node.js-MomentJS在UTC中获取JavaScript日期

我无法通过以下方式获取MongoDB记录的JavaScript Date字符串。 它一直在使用我的当地时间。

var utc = moment.utc().valueOf();
console.log(moment.utc(utc).toDate());

输出:

Tue Nov 11 2014 14:42:51 GMT-0500 (EST)

我需要使用UTC,所以我可以在Mongo中保留此时间戳,因此类型为Date

我怎样才能做到这一点?

trans by 2020-07-07T16:15:43Z

javascript-在Node中按“ _id”搜索MongoDB条目的正确方法

我在Node中使用ReferenceError: ObjectId is not defined(作为MongoDB的一部分)。这是MongoJS的文档。

我正在尝试根据条目的ReferenceError: ObjectId is not defined字段在Node中进行呼叫。 从控制台使用香草MongoDB时,我可以执行以下操作:

ReferenceError: ObjectId is not defined

它正确地返回了我的输入。 但是,当我在Node中执行相同的操作时,例如:

db.products.find({"_id": ObjectId("51d151c6b918a71d170000c7")}, function (err, record) {
    // Do stuff
});

我得到ReferenceError: ObjectId is not defined

正确的协议是什么?

trans by 2020-07-07T13:51:27Z

node.js-在expressjs app.VERB调用中next()和next('route')有什么区别?

该文档阅读:

app.VERB()方法提供Express中的路由功能, 其中VERB是HTTP动词之一,例如app.post()。 多 可以提供回调,所有回调均被平等对待,其行为类似于 中间件,这些回调可能会调用的一个例外 next('route')绕过其余的路由回调。 这个 机制可用于在路线上执行前提条件,然后通过 在没有理由继续时控制后续路线 路线匹配。

“绕过其余路由回调”是什么意思? 我知道next()将控制权传递给下一个匹配的路由。 但是...用next('route') ...可以控制什么功能?

trans by 2020-07-06T15:38:12Z

Javascript-桌面应用程序仅支持oauth_callback值'oob'/ oauth / request_token

我正在尝试使用NodeJS上的OAuth进行身份验证,并且遇到此错误:

获取OAuth请求令牌时出错:{statusCode:401,数据:'\ n \ n桌面应用程序仅支持oauth_callback值\'oob \'\ n / oauth / request_token \ n \ n'}

这是我的代码(server.js)

var express = require('express');
var util = require('util');
var oauth = require('oauth');

var app = express.createServer();

// Get your credentials here: https://dev.twitter.com/apps
var _twitterConsumerKey = "1";
var _twitterConsumerSecret = "2";

var consumer = new oauth.OAuth(
    "https://twitter.com/oauth/request_token", "https://twitter.com/oauth/access_token", 
    _twitterConsumerKey, _twitterConsumerSecret, "1.0A", "http://127.0.0.1:8080/sessions/callback", "HMAC-SHA1");

app.configure('development', function(){
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
    app.use(express.logger());
    app.use(express.cookieParser());
    app.use(express.session({ secret: "very secret" }));

    app.use(function(req, res, next) {
        res.locals.user = req.session.user;
        next();
    });
});

app.get('/sessions/connect', function(req, res){
    consumer.getOAuthRequestToken(function(error, oauthToken, oauthTokenSecret, results){
        if (error) {
            res.send("Error getting OAuth request token : " + util.inspect(error), 500);
        } else {  
            req.session.oauthRequestToken = oauthToken;
            req.session.oauthRequestTokenSecret = oauthTokenSecret;
            res.redirect("https://twitter.com/oauth/authorize?oauth_token="+req.session.oauthRequestToken);      
        }
    });
});

app.get('/sessions/callback', function(req, res){
    util.puts(">>"+req.session.oauthRequestToken);
    util.puts(">>"+req.session.oauthRequestTokenSecret);
    util.puts(">>"+req.query.oauth_verifier);
    consumer.getOAuthAccessToken(req.session.oauthRequestToken, req.session.oauthRequestTokenSecret, req.query.oauth_verifier, function(error, oauthAccessToken, oauthAccessTokenSecret, results) {
        if (error) {
            res.send("Error getting OAuth access token : " + util.inspect(error) + "["+oauthAccessToken+"]"+ "["+oauthAccessTokenSecret+"]"+ "["+util.inspect(results)+"]", 500);
        } else {
            req.session.oauthAccessToken = oauthAccessToken;
            req.session.oauthAccessTokenSecret = oauthAccessTokenSecret;

            res.redirect('/home');
        }
    });
});

app.get('/home', function(req, res){
    consumer.get("http://twitter.com/account/verify_credentials.json", req.session.oauthAccessToken, req.session.oauthAccessTokenSecret, function (error, data, response) {
        if (error) {
            res.redirect('/sessions/connect');
            // res.send("Error getting twitter screen name : " + util.inspect(error), 500);
        } else {
            var parsedData = JSON.parse(data);

            // req.session.twitterScreenName = response.screen_name;    
            res.send('You are signed in: ' + parsedData.screen_name);
        } 
    });
});

app.get('*', function(req, res){
    res.redirect('/home');
});

app.listen(8080);

提前致谢。

trans by 2020-07-06T14:20:33Z

如何从Node.js应用程序“ Ping”?

我想从node.js应用程序ping服务器。

那可行吗?

谢谢

trans by 2020-07-06T11:34:04Z

mysql-如何访问RowDataPacket obj

我目前正在使用Node-webkit开发桌面应用程序。 在此过程中,我需要从本地MySQL数据库获取一些数据。

查询工作正常,但我不知道如何访问结果。 我将它们全部存储在一个数组中,然后将其传递给函数。 在控制台中,它们如下所示:

RowDataPacket {user_id: 101, ActionsPerformed: 20}
RowDataPacket {user_id: 102, ActionsPerformed: 110}
RowDataPacket {user_id: 104, ActionsPerformed: 3}

这是查询结构:

var ret = [];
conn.query(SQLquery, function(err, rows, fields) {
    if (err)
        alert("...");
    else {
        for (var i of rows) 
            ret.push(i);
    }
    doStuffwithTheResult(ret);
}

如何在doStuffwithTheResult函数中检索此内容? 值更重要,但是如果我也能得到键,那将是很好的。

trans by 2020-07-06T07:03:50Z

node.js-带有gzip / deflate压缩的简单HTTP请求

我试图弄清楚如何轻松发送HTTP / HTTPS请求以及处理gzip / deflate压缩响应以及cookie的最佳方法。

我发现最好的是[https://github.com/mikeal/request],它可以处理除压缩以外的所有内容。 是否有模块或方法可以满足我的所有要求?

如果没有,我可以某种方式组合请求和zlib吗? 我试图将zlib和http.ServerRequest结合在一起,但失败了。

谢谢!

trans by 2020-07-05T23:56:05Z

为什么我们要为Angular 2.0安装Node.js?

我开始了有关Angular 2.0的教程,设置工作区的第一步是安装Node.js和NPM。

为什么我们要为Angular 2.0安装Node.js?

我不记得要对有角度的1.X这样做。

trans by 2020-07-05T16:18:37Z

什么会导致node.js打印Killed并退出?

我有一个Node.js应用程序,该应用程序启动时会将Mysql中的一些数据加载到Redis中。 在修改Mysql中的数据之前,它一直工作良好。

现在它正以“已杀死”消息退出。

我正在尝试查明问题,但是很难使用node-inspector进行调试,因为在--debug中运行时问题不会出现。

我不认为我的问题出在数据本身上,因为它可以在本地计算机上运行,但不能在生产盒上运行。

我的问题是,导致“杀死”消息的原因是Node.js,还是在Mysql驱动程序或其他地方?

trans by 2020-07-05T12:25:35Z

node.js-Express sendfile()与render()

我尝试了res.render('index.html')和res.sendfile('index.html'),他们似乎都在做同样的事情。 我发现Express文档不是很有帮助。 两者有什么区别?

trans by 2020-07-05T10:15:40Z

部署-如何使用多核,反向代理和SSL在云中部署Node.js以实现高可用性

我已经将其发布到ServerFault,但是在那里的Node.js社区似乎很小,所以我希望这能带来更多的了解。

我有一个Node.js(0.4.9)应用程序,正在研究如何最好地部署和维护它。 我想以高可用性在云(EC2或RackSpace)中运行它。 该应用程序应在HTTPS上运行。 稍后,我将担心东西方/欧盟全面故障转移。

我已经做了大量有关保持活动(Upstart,Forever),多核实用程序(Fugue,多节点,集群)和代理/负载平衡器(node-http-proxy,nginx,Varnish和Pound)的文章。 。 但是,我不确定如何组合可用的各种实用程序。

我考虑了这种设置,需要解决一些问题并获得反馈。

  1. 群集是Node.js上开发最活跃,看似最流行的多核实用程序,因此可以使用它在非特权端口(例如3000)上为每个应用程序服务器运行1个节点“群集”。 Q1:应该永远用于保持群集的活动状态还是仅仅是冗余?
  2. 在端口80上运行的每个应用程序服务器使用1个nginx,只需将代理反向代理到端口3000上的节点即可。问题2:node-http-proxy即使不能快速gzip或服务器静态文件,也更适合此任务吗?
  3. 如上所述,最少要有2台服务器,并且一台独立的服务器充当这些机箱中的负载平衡器。 使用Pound侦听443终止HTTPS并将HTTP传递给Varnish,这将在上述服务器的IP上循环负载平衡。 问题3:是否应该同时使用nginx? Q4:应该考虑使用AWS或RackSpace负载均衡器(后者不会终止HTTPS)

一般的问题:

  1. 您是否完全需要上面的(2)?
  2. 终止HTTPS的最佳位置在哪里?
  3. 如果将来需要WebSocket,那么您将替换哪些nginx?

我真的很想听听人们如何设置当前的生产环境以及他们喜欢哪种工具组合。 非常感激。

trans by 2020-07-05T04:03:22Z

fs.readFileSync不是相对文件吗? Node.js

-假设我在项目的根目录中有一个名为“ file.xml”的文件

-假设我在tests /中有一个名为“ test.js”的测试文件,

const file = fs.readFileSync("../file.xml");

如果现在从项目的根目录运行fs.readFileSync("./file.xml"),则说../file.xml不存在。 如果我在tests目录中运行相同的命令,那么它将起作用。

看来fs.readFileSync是相对于从中调用脚本的目录,而不是脚本实际所在的目录。 如果我在test.js中写了fs.readFileSync("./file.xml"),它将看起来更加混乱,并且与require语句中与文件相关的相对路径不一致。

为什么是这样?

如何避免必须重写fs.readFileSync中的路径?

trans by 2020-07-05T01:09:42Z

如何防止node.js中的内存泄漏?

我们知道node.js为我们提供了强大的功能,但强大的功能带来了巨大的责任。

据我所知,V8引擎不进行任何垃圾收集。 因此,我们应该避免什么最常见的错误,以确保没有内存从节点服务器泄漏。

编辑:很抱歉,V8确实具有强大的垃圾收集器。

trans by 2020-07-04T15:04:24Z

限制Node.js中的异步调用

我有一个Node.js应用程序,该应用程序在本地获取文件列表并将其上传到服务器。 此列表可能包含数千个文件。

for (var i = 0; i < files.length; i++) {
   upload_file(files[i]);
}

如果我用数千个文件执行此操作,则上载文件将一次被调用数千次,并且极有可能死掉(或至少会挣扎)。 在同步世界中,我们将创建一个线程池并将其限制为一定数量的线程。 有没有一种简单的方法来限制一次执行多少个异步调用?

trans by 2020-07-04T06:58:47Z

上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共174页