Tag: javascript

用UglifyJS缩小多个文件

是否有可能使用UglifyJS压缩多个文件? 就像是… uglifyjs -o app.build.js appfile1.js appfile2.js … 另外,我在Windows命令提示符下通过NodeJS运行Uglify

从对象中删除所有属性

我有这个Javascript对象。 req.session 在我的代码中,我添加属性到这个对象。 这些属性可以是其他对象,数组或简单的string。 req.session.savedDoc = someObject; req.session.errors = ['someThing', 'anotherThing', 'thirdThing']; req.session.message = 'someString' 如果我后来想删除这个对象的所有附加属性,什么是最简单/最好的方法? 一定有比这更好的办法吗? // Delete all session values delete req.session.savedDoc; delete req.session.errors; delete req.session.message;

如何等待承诺解决?

我正在处理一个NodeJs框架,要求某个function是同步的,但我需要检索一个只能asynchronous访问的值。 在一个完美的世界里,我可以回报一个承诺,但是我不能。 作为一个快速和肮脏的解决scheme,我创build了以下方法: exports.synchronizePromise = function(promise) { var value; promise.then(function(promiseValue) { value = promiseValue; }); while (!value) {} // Wait for promise to resolve console.log("DONE: " + value); // Never reached return value; }; 但是我得到一个错误。 有什么办法来完成我所需要的?

package.json中的根目录

我的问题涉及到我想作为NPM模块发布的现有库。 该库已经在使用,目前require通过本地文件系统。 我怎样才能指定我的模块文件的根目录? 如果我有像这样的结构: . ├── package.json ├── src | ├── js | └────── lib | └───────── my | └───────────── thing.js | └───────────── that.js 我如何指定我的模块的根,可访问的文件是src/js/lib/my/ ? 我想从外部项目中使用如下: var thing = require('my/thing'), that = require('my/that'); 我看到package.json中的"files"属性,这是正确的方法吗?

如何在android上运行我的node.js项目?

我有一个工作在我的Android平板电脑的PHP服务器,所以我希望它可以以某种方式运行nodejs也。 源代码在github上可用,也可以在linux上构build,但是我不能真正了解如何构build它。 提前致谢,

Node.JS Webserver中的安全性

所以,我正在学习Node.JS的方法,到目前为止我都很喜欢它。 我有几个项目已经在工作,我想我可以利用nodejs。 不过,我担心安全问题。 如果我使用Node.JS的http模块编写一个自定义的networking服务器,我是否可能超级受到攻击? Apache / IIS已经有多年 (和多年)的专业团队将安全build设到他们的networking服务器,仍然有人继续发现漏洞。我的自制Web服务器可能会更容易攻击吗? 我可以专注于什么东西来build立一个安全的好层到我的networking服务器? 那里有没有好的文章涵盖了这个话题?

什么是jsdom的用例

看完这个微模板是死的文章。 我很好奇: 无论是在服务器上使用DOM,都会产生更清洁,更可维护的代码,然后模板化。 使用jsdom而不是模板引擎更高效。 如何将jsdom分解为标准MVC设置的视图。 通常在什么情况下最好使用服务器端的DOM抽象,比如jsdom,而不是像EJS或者jade这样的模板引擎。 这个问题是特定于node.js和其他SSJS

BackboneJS渲染问题

在过去的六个月里,我一直在与Backbone合作。 前两个月都在搞乱,学习和弄清楚我想如何构build我的代码。 接下来的4个月里,一个生产适合的应用程序正在冲击。 不要误会我的意思,Backbone已经把我从之前标准的数千行客户端代码中解救了出来,但是它使我能够在更短的时间内完成更多macros大的事情,从而开辟了一堆新的问题。 对于我在这里提出的所有问题,都有一些简单的解决scheme,就像黑客或者只是觉得错误 。 我保证300分的奖励一个真棒解决scheme。 开始: 加载 – 对于我们的用例(pipe理面板),悲观同步是不好的。 对于某些事情,我需要在接受它们之前在服务器上validation事物。 我们在'sync'事件被合并到Backbone之前就开始了, 我们用这个小代码来模拟加载事件: window.old_sync = Backbone.sync # Add a loading event to backbone.sync Backbone.sync = (method, model, options) -> old_sync(method, model, options) model.trigger("loading") 大。 它按预期工作,但不正确。 我们将此事件绑定到所有相关视图,并显示一个加载图标,直到我们从该模型中收到成功或错误事件。 有没有更好,更清洁的方法来做到这一点? 现在对于困难的人来说: 太多的东西渲染自己太多 – 比方说,我们的应用程序有标签。 每个选项卡控制一个集合。 在左边你收集。 你点击一个模型开始在中心编辑它。 您更改其名称并按Tab键以转到下一个表单项目。 现在,你的应用程序是一个“实时的东西”,注意到差异,运行validation,并自动同步更改到服务器,不需要保存button! 太好了,但是表格的开始处的H2与input中的名称相同 – 您需要更新它。 哦,你需要更新名单上的名字。 俄亥俄州,名单按名称sorting! 这是另一个例子:你想在集合中创build一个新的项目。 你按下“新build”button,你开始填写表格。 你是否立即将该项目添加到集合? […]

常量vs让调用require时

由于io.js现在支持ES6,你终于可以使用const和let关键字了。 显然, let成为var的inheritance者,只是有一些超级大国。 但是const呢? 当然,我知道“常量”意味着什么,但是我想知道什么时候使用它(关于最佳实践)。 例如,如果我创build一个需要另一个模块的模块,我可以写: 'use strict'; const util = require('util'); const foo = function () { // Do something with util }; module.exports = foo; 基本上我已经用const代替var每一个var 。 一般来说,我认为这是可以的,但是如果遵循这个模式,它使我更多地使用const不是let ,因为大多数variables不是字面意义上的“variables”。 这是不错的风格? 我应该去let ? 什么时候应该selectconst来let ?

如何阻止babel从“this”到“undefined”

编辑 :这不是关于脂肪箭头 。 这也不是传递给一个IIFE 。 这是一个翻译相关的问题。 所以我为我正在开发的一个小应用程序创build了一个简单的pub-sub。 我写在ES6使用传播/rest和保存一些头痛。 我用npm和gulp来设置它,但它却让我发疯。 我做了一个浏览器库,但意识到它可以在任何地方使用,所以我决定让Commonjs和AMD兼容。 这里是我的代码的修剪版本: (function(root, factory) { if(typeof define === 'function' && define.amd) { define([], function() { return (root.simplePubSub = factory()) }); } else if(typeof module === 'object' && module.exports) { module.exports = (root.simplePubSub = factory()) } else { root.simplePubSub = root.SPS = factory() } }(this, function() { […]