通过package.json安装“global”npm依赖关系

我有几个“全局”依赖(jshint,csslint,buster等),我想通过命令行自动安装和执行,当我的软件包通过npm install 。 这可能吗? 目前,我正在手动执行以下操作: npm install -g <package_name> 从我的项目中: npm link <package_name> 更新:刚刚遇到了npm的这个function请求 。 看起来像package.json中的scriptsconfiguration是要走的路? 再次更新:或者,阅读npm文档后 ,也许我应该使用.gyp文件 ? 我很困惑。

ReactJS服务器端渲染与客户端渲染

我刚开始学习ReactJS,发现它给了你两种呈现页面的方式:服务器端和客户端。 但是,我不明白如何一起使用它。 是build立应用程序的两种不同的方式,还是可以一起使用? 如果我们可以一起使用,那么我们需要在服务器端和客户端复制相同的元素吗? 或者,我们可以在服务器上构build应用程序的静态部分,还是在客户端上构builddynamic部分,而无需连接到已经预渲染的服务器端?

使用Express在dynamic路由上服务静态文件

我想像通常一样使用express.static(static_path)来处理静态文件,但是在dynamic路由上 app.get('/my/dynamic/:route', function(req, res){ // serve stuff here }); 一个开发者在这个评论中暗示了一个解决scheme,但是我不清楚他的意思。

与承诺循环

用承诺做一个while循环的习惯用法是什么? 所以: 如果情况仍然存在,请做一些事情再重复一遍,然后做一些其他的事情。 dosomething.then(possilblydomoresomethings).then(finish) 我这样做,我想知道是否有更好的/更多的idomatic方法? var q = require('q'); var index = 1; var useless = function(){ var currentIndex = index; console.log(currentIndex) var deferred = q.defer(); setTimeout(function(){ if(currentIndex > 10) deferred.resolve(false); else deferred.resolve(true); },500); return deferred.promise; } var control = function(cont){ var deferred = q.defer(); if(cont){ index = index + 1; useless().then(control).then(function(){ deferred.resolve(); }); } […]

运行Node脚本时,在当前shell上下文中更改工作目录

我试图改变我的Node.js脚本从bin脚本运行的工作目录。 我有如下的东西: #!/usr/bin/env node process.chdir('/Users') 当我用./bin/nodefile运行这个文件时,它退出,但是当前shell上下文的工作目录没有改变。 我也试过shelljs ,但是这也行不通。 做这个的最好方式是什么? 我知道它正在工作,但只是在一个单独的过程。

在Nodejs中parsing大的JSON文件

我有一个存储JSONforms的JavaScript对象的文件,我需要读取文件,创build每个对象,并与他们做一些事情(在我的情况下插入到数据库中)。 JavaScript对象可以表示为一种格式: 格式A: [{name: 'thing1'}, …. {name: 'thing999999999'}] 或格式B: {name: 'thing1'} // <== My choice. … {name: 'thing999999999'} 请注意, …表示很多JSON对象。 我知道我可以读取整个文件到内存中,然后像这样使用JSON.parse() : fs.readFile(filePath, 'utf-8', function (err, fileContents) { if (err) throw err; console.log(JSON.parse(fileContents)); }); 但是,文件可能真的很大,我宁愿使用stream来完成这一点。 我看到一个stream的问题是,文件内容可以在任何时候分解成数据块,所以我怎么能在这样的对象上使用JSON.parse() ? 理想情况下,每个对象将被作为一个单独的数据块读取,但我不知道如何做到这一点 。 var importStream = fs.createReadStream(filePath, {flags: 'r', encoding: 'utf-8'}); importStream.on('data', function(chunk) { var pleaseBeAJSObject = JSON.parse(chunk); // […]

gruntjs服务器任务的目的是什么?

我正在学习如何推动使用gruntjs。 我发现服务器的任务,但我不明白的地步。 我可以使用服务器任务映射级联/缩小文件来testing我的应用程序(使用backbone.js)而不移动或将源文件放在Web服务器根目录中? 没有Apache例如。 如果不是,那么服务器任务应该使用什么?

jQuery与AngularJS与Node.js的区别

我刚开始web开发,到目前为止我知道: HTML – 网站的布局 CSS – 让它看起来很漂亮 JavaScript – function 那么什么是jQuery , AngularJS和Node.js ? 经过快速search,我发现jQuery是一个“JavaScript库”,AngularJS是“基于JavaScript的开源前端Web应用框架”,而Node.js是“JavaScript运行时环境”。 他们似乎都与JavaScript相关,所以他们是新的语言? “框架/库”是什么意思? 一个简单的答案将不胜感激。 (我刚刚开始web编程,但我熟悉编程)。

使用Node和Express进行基本的HTTP身份validation4

它看起来像使用Express v3实现基本的HTTP身份validation是微不足道的: app.use(express.basicAuth('username', 'password')); 版本4(我使用4.2)删除了basicAuth中间件,所以我有点卡住了。 我有下面的代码,但它不会导致浏览器提示用户input凭据,这是我想要的(以及我想象的旧方法): app.use(function(req, res, next) { var user = auth(req); if (user === undefined || user['name'] !== 'username' || user['pass'] !== 'password') { res.writeHead(401, 'Access invalid for user', {'Content-Type' : 'text/plain'}); res.end('Invalid credentials'); } else { next(); } });

用grunt自动化npm和bower安装

我有一个node / angular项目,使用npm作为后端依赖pipe理,而bower作为前端依赖pipe理。 我想使用一个咕task任务来执行两个安装命令。 我一直无法弄清楚如何去做。 我试图使用exec ,但实际上并没有安装任何东西。 module.exports = function(grunt) { grunt.registerTask('install', 'install the backend and frontend dependencies', function() { // adapted from http://www.dzone.com/snippets/execute-unix-command-nodejs var exec = require('child_process').exec, sys = require('sys'); function puts(error, stdout, stderr) { console.log(stdout); sys.puts(stdout) } // assuming this command is run from the root of the repo exec('bower install', {cwd: './frontend'}, […]