Tag: javascript

处理node.js中的require()模块引发的错误

在试图require()模块不存在的时候,在我的代码中有一点障碍。 代码循环遍历目录,并在每个文件夹上执行var appname = require('path') 。 这适用于适当configuration的模块,但会引发: Error: Cannot find module循环遇到非Error: Cannot find module时Error: Cannot find module模块。 我希望能够优雅地处理这个错误,而不是让它停止我的整个过程。 所以简而言之,如何捕获由require()抛出的错误? 谢谢!

在mongoose中id和_id有什么区别?

mongoose中的_id和id什么区别? 哪个更适合参考?

如何使用webpack在项目中设置多个文件input和输出?

如何使用webpack在项目中设置多个文件input/输出? 我按照http://webpack.github.io/docs/tutorials/getting-started/成功编译,如果只有一个文件在一个input/输出… 目录 app webpack.config.js ./assets ././javascripts/Administrator/Article/Create/Base.js ././javascripts/Administrator/Article/Edit/Base.js ././javascripts/Account/Index/Base.js ././javascripts/Contact/Index/Base.js … 如何输出这样的? ././javascripts/Administrator/Article/Create/bundle.js ././javascripts/Administrator/Article/Edit/bundle.js ././javascripts/Account/Index/bundle.js ././javascripts/Contact/Index/bundle.js webpack.config.js module.exports = { entry: { 'AdministratorArticleCreate':['./assets/javascripts/Administrator/Article/Create/Base.js'] }, output: { path: } // if only one file // entry: "./assets/javascripts/Administrator/Article/Create/Base.js", // output: { // // path: __dirname, // path: "./assets/javascripts/Administrator/Article/Create/", // filename: "bundle.js" // } };

替代dev / prod环境的grunt.js任务

我正在尝试设置我的grunt.js文件,以便在我的生产服务器上运行时只运行min任务 – 在本地开发服务器上运行时,我不希望在每次更改时都删除我的代码,因为这是不必要的。 关于如何grunt.js可以区分开发/产品环境的任何想法?

我怎样才能检查两个对象具有相同的一组属性名称?

我正在使用节点,摩卡和柴为我的应用程序。 我想testing我返回的结果数据属性是与我的模型对象之一相同的“对象types”。 (非常类似于柴的实例)。 我只想确认这两个对象具有相同的一组属性名称。 我特别对这些房产的实际价值不感兴趣。 比方说,我有像下面的模型人。 我想检查我的results.data具有与预期模型相同的属性。 所以在这种情况下,Person有一个firstName和lastName。 所以如果results.data.lastName和results.data.firstName都存在,那么它应该返回true。 如果任何一个不存在,它应该返回false。 如果results.data具有诸如results.data.surname之类的任何其他属性,则奖励将会是,那么它将返回false,因为在Person中不存在姓氏。 该模型 function Person(data) { var self = this; self.firstName = "unknown"; self.lastName = "unknown"; if (typeof data != "undefined") { self.firstName = data.firstName; self.lastName = data.lastName; } }

因为业力茉莉花需要适当的记者

我有一个相当简单的karma.config.js文件 basePath = '../'; files = [ JASMINE, JASMINE_ADAPTER, 'js/lib/angular*.js', 'test/lib/angular/angular-mocks.js', 'js/**/*.js', 'test/unit/**/*.js' ]; autoWatch = true; browsers = ['PhantomJS']; 当我运行karma start config/karma.conf.js –single-run我收到以下输出 $ karma start config/karma.conf.js –single-run [2013-06-24 23:47:08.750] [DEBUG] config – autoWatch set to false, because of singleRun INFO [karma]: Karma server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO [PhantomJS […]

如何将文件a移动到Node.js中的其他分区或设备?

我试图将一个文件从一个分区移动到另一个Node.js脚本中。 当我使用fs.renameSync收到Error: EXDEV, Cross-device link 。 我会复制它,并删除原来的,但我没有看到一个命令来复制文件。 如何才能做到这一点?

如何在Mongoose模型中定义方法?

我的locationsModel文件: mongoose = require 'mongoose' threeTaps = require '../modules/threeTaps' Schema = mongoose.Schema ObjectId = Schema.ObjectId LocationSchema = latitude: String longitude: String locationText: String Location = new Schema LocationSchema Location.methods.testFunc = (callback) -> console.log 'in test' mongoose.model('Location', Location); 要调用它,我正在使用: myLocation.testFunc {locationText: locationText}, (err, results) -> 但是我得到一个错误: TypeError: Object function model() { Model.apply(this, arguments); } has no […]

Supertest定制节点中的服务器

请温柔一下。 我是新来的asynchronous编码,并已被抛入一个密集的项目,使用节点开发和API服务器。 我很喜欢它,但有些事情不是自然而然的。 我们的项目是使用express js构build的。 我们有一个文件server.js,在这里我们实例化一个express服务器,然后实例化我们的路由器等等。 我需要现在(部分)完整的服务器进行集成testing。 通常我从命令行运行“%node server.js”,然后使用python请求或curl make请求并检查响应。 现在我已经负责编写一个单元和集成testing套件,以便我们可以自动进行testing。 我一直在使用摩卡,现在正在尝试使用超级集成进行集成testing。 问题是supertest需要一个服务器对象,然后它将应用testing,然而我们的文件,build立我们的服务器对象不会返回任何东西。 我不想修改该文件,所以我难以理解如何访问用于testing的服务器对象。 我的服务器文件看起来(部分)如下所示: var express = require('express') var app = express(); // Express Configuration app.use(express.favicon()); //handles favicon request, which keeps it out of the log when using a browser 🙂 app.use(express.bodyParser()); //slurps up the body in chunks the node.js way 🙂 // …and […]

如何将项目添加到nodejs中的数组

我如何遍历现有的数组,并将项目添加到一个新的数组。 var array = []; forEach( calendars, function (item, index) { array[] = item.id }, done ); function done(){ console.log(array); } 上面的代码通常在JS中工作,不知道node js的替代scheme。 我试过.push和.splice但都没有工作。