相关疑难解决方法(0)

在Node.js中,如何从其他文件中"包含"函数?

假设我有一个名为app.js的文件.很简单:

var express = require('express');
var app = express.createServer();
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.get('/', function(req, res){
  res.render('index', {locals: {
    title: 'NowJS + Express Example'
  }});
});

app.listen(8080);
Run Code Online (Sandbox Code Playgroud)

如果我在"tools.js"中有一个函数怎么办?如何导入它们以在apps.js中使用?

或者......我应该将"工具"变成一个模块,然后需要它吗?<<似乎很难,我宁愿做tools.js文件的基本导入.

javascript import header node.js

893
推荐指数
16
解决办法
69万
查看次数

node.exports与Node.js中的导出

我在Node.js模块中找到了以下合同:

module.exports = exports = nano = function database_module(cfg) {...}
Run Code Online (Sandbox Code Playgroud)

我不知道什么之间的不同module.exportsexports为什么都被用在这里.

javascript commonjs node.js

701
推荐指数
10
解决办法
23万
查看次数

流星测试驱动开发

我不知道如何在流星中进行测试驱动开发.

我在文档或常见问题解答中没有提到它.我没有看到任何例子或类似的东西.

我看到有些软件包正在使用Tinytest.

我需要开发人员的回应,这是什么路线图.有点像:

  • 可能,没有文档,自己搞清楚
  • 流星不是以可以制作可测试应用程序的方式构建的
  • 这是计划中的功能
  • 等等

tdd meteor

120
推荐指数
7
解决办法
1万
查看次数

在NodeJS/Express中,"module.exports"和"exports.methods"是什么意思?

看着一个随机的源文件中的express为框架NodeJS,有我不理解的代码的两行(这行代码是典型的几乎所有文件的NodeJS).

/**
 * Expose `Router` constructor.
 */

exports = module.exports = Router;
Run Code Online (Sandbox Code Playgroud)

/**
 * Expose HTTP methods.
 */

var methods = exports.methods = require('./methods');
Run Code Online (Sandbox Code Playgroud)

我知道第一段代码 允许文件中的其余函数暴露给NodeJS应用程序,但我不明白如何工作的,或者行中的代码意味着什么.

做什么exportsmodule.exports实际意味着什么?

我相信第二段代码允许文件中的函数访问methods,但同样,它是如何做到的.

基本上,这些神奇的词是什么:moduleexports

javascript module export node.js express

56
推荐指数
3
解决办法
4万
查看次数

什么是Javascript中的导出和原型?

我是Javascript的新手,我在我阅读的代码中看到了很多导出和原型的用法.它们主要用于什么以及它们如何工作?

//from express
var Server = exports = module.exports = function HTTPSServer(options, middleware){
  connect.HTTPSServer.call(this, options, []);
  this.init(middleware);
};

Server.prototype.__proto__ = connect.HTTPSServer.prototype;
Run Code Online (Sandbox Code Playgroud)

javascript node.js

54
推荐指数
2
解决办法
7万
查看次数

我可以将测试划分为单独的规范,然后从另一个规范中调用它们,还是使用辅助函数更好?

刚开始使用Protractor进行E2E测试,我在测试用例结构上遇到了一些麻烦.

不确定我是否可以将我的测试划分为单独的规范,然后从另一个中调用它们,或者我如何制作好的辅助函数来处理它.

我正在通过转发器找到元素,然后我想对转发器中每个元素的每个操作进行测试.有点像:

describe('tasty', function () {
    'use strict';
    var ptor;

    beforeEach(function () {
        ptor = protractor.getInstance();
        ptor.get('http://localhost:8000/');
    });

    it('Should sample three tasty fruits of every kind on my shopping list.', function () {
        ptor.findElement(protractor.By.className('fruitstore')).click();
        var fruitshelves = ptor.findElements(protractor.By.repeater('fruit in fruits').column('header'));

        fruitshelves.then(function(arr) {
            for (var i=0;i<arr.length; i++) { 
                // Pick up three fruits of this kind from the shelf and put in shopping cart
                // Should be listed on my shopping list 
                // Open the wallet
                // Should have money …
Run Code Online (Sandbox Code Playgroud)

protractor

19
推荐指数
3
解决办法
1万
查看次数

具有Sequelizejs的Nodejs为每个模型使用单独的文件

这是一个令人尴尬的初学者问题,但我只是想解决我对Sequelizejs的担忧.我想将每个模型拆分成自己的文件,以保持我的源组织.为了做到这一点,我需要require("sequelize')var sequelize = new Sequelize('DB-Name', 'DB-User', 'DB-Password');每个文件的开始.

我的问题是,是否会为每个模型创建一个与数据库的新连接,还是会继续重复使用相同的连接?我应该放弃"每个文件一个模型"的整个概念,只创建一个主Models.js文件吗?

我是Node的新手,我仍然习惯于它的惯例.谢谢您的帮助!

node.js sequelize.js

12
推荐指数
1
解决办法
8160
查看次数

Javascript模块:原型与导出

我是node.js(和stackoverflow)的新手,并没有找到对此的确切解释.

这可能是一个试验性的答案,但希望它能帮助那些也从Python /其他面向对象框架过渡的人.

我已经看过其他关于原型概念在js中的文章,还有其他文章解释了node.js的module.exports.

我正在研究Ghost CMS,他们同时使用它们.我似乎无法找出为什么他们会在某些情况下选择一个而不是另一个.

任何帮助都表示赞赏,即使它指向其他链接.

javascript prototype module node.js

10
推荐指数
2
解决办法
1万
查看次数

向Mean.io初学者解释Mean.io样本包的身份验证是如何工作的

我正在学习mean.io本教程视频,其中显示了示例包(创建人mean package mymodule,也是在对"包"中描述的文档).我想帮助理解给定的身份验证/授权是如何工作的.

默认样本包/模块具有客户端上的简单用户身份验证

myapp/packages/mymodule/public/views/index.html包含:

    <li>
      <a href="mymodule/example/anyone">Server route that anyone can access</a>
    </li>
    <li>
      <a href="mymodule/example/auth">Server route that requires authentication</a>
    </li>
    <li>
      <a href="mymodule/example/admin">Server route that requires admin user</a>
    </li>
Run Code Online (Sandbox Code Playgroud)

在服务器端,

myapp/packages/mymodule/server/routes/mymodule.js,包含:

// The Package is past automatically as first parameter
module.exports = function(Mymodule, app, auth, database) {

  app.get('/mymodule/example/anyone', function(req, res, next) {
    res.send('Anyone can access this');
  });

  app.get('/mymodule/example/auth', auth.requiresLogin, function(req, res, next) {
    res.send('Only authenticated users can access …
Run Code Online (Sandbox Code Playgroud)

node.js express mean.io

9
推荐指数
1
解决办法
4567
查看次数

了解TodoMVC示例

开始学习node.js和backbone.js,并使用TodoMVC示例作为我的向导.有几个部分我无法绕过头脑.见下文.

这是app.js.

var express = require('express')
  , http = require('http')
  , mongoose = require('mongoose')
  , models = require('./models')
  , routes = require('./routes')
  , app = express();

app.configure(function () {
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(require('stylus').middleware({ src: __dirname + '/public' }));
  app.use(express.static(__dirname + '/public'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
});

app.configure('development', function () {
  app.use(express.errorHandler());
});

routes.init(app);


mongoose.connect("127.0.0.1", "todomvc", 27017);

http.createServer(app).listen(3000);

console.log("Express server listening on port 3000");
Run Code Online (Sandbox Code Playgroud)

Heres是./models:

var mongoose = require('mongoose'),

  TodoSchema = new mongoose.Schema({
    title: { 'type': …
Run Code Online (Sandbox Code Playgroud)

javascript model-view-controller node.js backbone.js todomvc

6
推荐指数
1
解决办法
1869
查看次数