Articles of javascript

在JavaScript / Node.js中将Youtube Data API V3video持续时间格式转换为秒数

我试图将ISO 8601string转换为JS /节点秒。 我能想到的最好的是: function convert_time(duration) { var a = duration.match(/\d+/g) var duration = 0 if(a.length == 3) { duration = duration + parseInt(a[0]) * 3600; duration = duration + parseInt(a[1]) * 60; duration = duration + parseInt(a[2]); } if(a.length == 2) { duration = duration + parseInt(a[0]) * 60; duration = duration + parseInt(a[1]); […]

在小胡子模板中转义双括号{{…}}。 (在NodeJS中模板模板)

我正在尝试模板模板,如下所示: {{{ { "name" : "{{name}}", "description" : "{{description}}" } }}} {{{debug this}}} <h1>{{name}}</h1> 在那里,我想要三个括号留下来,但双括号将被传入的JSON取代。任何人都知道最好的方式做到这一点,而不编写后处理的JS代码,如果没有,是否有一个很好的nodeJS模板引擎types的场景?

esprima-six npm模块发生了什么事?

我的npm项目有esprima-six npm模块作为传递依赖。 最近,已经不可能下载了,如下面的npm install输出所示: npm ERR! 404 Not Found npm ERR! 404 npm ERR! 404 'esprima-six' is not in the npm registry. npm ERR! 404 You should bug the author to publish it npm ERR! 404 It was specified as a dependency of 'syntax-error' npm ERR! 404 npm ERR! 404 Note that you can also […]

Node.js应用程序中的领域驱动devise

TL; DR; 我正在寻找DDD node.js应用程序的小例子。 嗨, 我要创build节点应用程序。 我不知道,我无法find任何应​​用程序与业务逻辑分离的例子。 好的,有一些例子: https : //github.com/adrai/node-cqrs-domain – 但是这是整个CQRS与事件采购实施。 我的想法是这样做的: //domain/book.js function Book(title, author) { this._title = title; this._author = author; } // domain methods … //infrastructure/persistance/repository/book-repository.js function BookRepository() {} BookRepository.prototype.save(book) { var bookModel = mappers.mapToOrm(book); return bookModel.save(); } // […] get, getAll, getNextId //infrastructure/persistance/orm/book.js //using http://bookshelfjs.org/ var Book = bookshelf.Model.extend({ […]

无法通过IPP在另一个纸盘上打印

我正在尝试使用IPP(Internet打印协议)在第二个纸盒上打印文档。 我正在使用这个NPM IPP库 。 但是,在任何时候我尝试打印文档,我的打印机显示一条消息,我需要将纸张添加到第一个纸盒和控制台输出说: Printed: successful-ok 。 var ipp = require("ipp"); var PDFDocument = require("pdfkit"); var concat = require("concat-stream"); var doc = new PDFDocument; doc.text("Hello World"); doc.pipe(concat(function (data) { var printer = ipp.Printer("MY_URL"); var file = { "operation-attributes-tag": { "requesting-user-name": "admin", 'attributes-charset': 'utf-8', 'attributes-natural-language': 'de' }, "printer-attributes": { "media-col": { "media-source": "tray-2" }, }, […]

结合反应和玉石

我正在与快递+反应工作的同构javascript应用程序。 我们开始使用翡翠作为静态内容的服务器端模板,但是将这两者结合起来很快变得笨拙。 我们结束了这样的事情: 在快递路线: router.get("/", function(req, res) { var webpackStats = require('../../config/webpack-stats.json'); var reactHtml = React.renderToString(HiwApp({})); var slideshowHtml = React.renderToString(slideshowApp({})); var config = { webpackStats: webpackStats, reactOutput: reactHtml, slideshowHtml: slideshowHtml }; res.render("how_it_works/howitworks", config); }); 在玉: body .company-logo.center #react-main-mount != reactOutput include ./content_block_1.jade include ./content_block_2.jade #slideshow-main-mount != slideshowHtml 这是非常脆弱的 – 如果我们想要jsx,那么需要更多的jsx模板,我们必须确保我们的订单正确。 我的想法是用jsx做这一切 。 我知道有这样的事情React.renderToStaticMarkup,但是这并不能解决静态页面混合dynamic的问题。 大问题:如果我们决定用jsx(包含所有组件的React.renderToString(App({}); )来做所有这些事情,那么调用React.renderToString(App({});这会是一个主要的性能问题吗?有更好的方法来做到这一点,轻松地结合静态和dynamic块?

使用react-router并通过Passport.js进行身份validation – 可能吗?

所以我正在开发一个包含React,Express.js + Passport和Webpack的项目。 我理解通过react-router将所有内容推送到“主”React组件的概念,然后让它散列出给定路线显示的内容。 我想这在这里会很好。 首先,我是React新手。 我的顾虑是: 1)我可以/我怎样才能使用护照来validation我的路线? 如果我正确理解react-router,我将在我的express app.js文件中有一条path,指向名为<Application/>的React组件。 但是,护照需要router.get('/myroute', isAuthenticated, callback)来检查会话。 反应路由器是否仍然可以这样做? 2)此外,如果可能的话,我如何将Express中的path的值传递给我的视图,在React中? 我知道在一个典型的观点,我可以使用<%= user %>或{{user}}如果我从我的路线传递。 这可能吗?

在Node.js中提供一个Promise作为一个模块的导出asynchronous初始化的有效模式?

我需要编写一些加载数据的模块,然后为这些数据提供一个接口。 我想asynchronous加载数据。 我的应用程序已经使用承诺。 提供一个承诺,因为要求一个模块有效的模式/成语? 示例模块: var DB = require('promise-based-db-module'); module.exports = DB.fetch('foo') .then(function(foo){ return { getId: function(){return foo.id;}, getName: function(){return foo.name;} }; }); 用法示例: require('./myPromiseModule') .then(function(dataInterface){ // Use the data }); 更新: 我已经使用了一段时间了,而且效果很好。 我已经学到了一件事,而且在接受的答案中暗示的一点是,caching诺言本身,以及随时随地访问数据使用都是好事。 数据第一次被访问时,代码将等待,直到承诺解决。 接下来的使用将立即返回数据。 例如 var cachedPromise = require('./myPromiseModule'); cachedPromise.then(function(dataInterface){ // Use the data }); … cachedPromise.then(function(dataInterface){ // Use the data again somewhere […]

如何在Node.js中编写非阻塞代码?

我可以非常容易地在Node.js中编写非阻塞I / O。 这是整个图书馆的设置。 但是任何计算都是阻塞的。 通过事件发射器传递的任何消息都被阻塞 。 例如,发射事件立即被解决,因此被阻塞: var e = new process.EventEmitter; e.on("foo", function() { console.log("event"); }); process.nextTick(function() { console.log("next tick"); }); setTimeout(function() { console.log("timeout"); }, 0); e.emit("foo"); > event > next tick > timeout 除了在nextTick包装调用,我如何使代码非阻塞? 我希望在事件循环的每个循环中尽可能less地进行计算,以便尽可能多地同时服务于客户端。 如何以非阻塞的方式编写我的代码? 而当我有非阻塞代码,我怎么扩大跨多个进程? 一种select是等待WebWorker子stream程API完成。

刷新页面显示文件未find错误如何解决使用

注意:我尝试了所有与此主题相关的问题和答案。 像这样,我尝试了相关的问题,试图解决它,但没有成功。 我正在构buildangularJSnetworking应用程序。 它完全基于AngularJS / HTML 5和NodeJS / ExpressJS和数据库端使用mongo DB,则会出现此问题。 我想 '#'删除url和我刷新页面,然后显示我当前页面。但现在显示“未find404”。我使用像这样$locationProvider.html5Mode(true); 和<base href="/" />但我不成功。 我知道在URL解决scheme中删除#是$locationProvider.html5Mode(true); 和<base href="/" />但是我使用NodeJS / ExpressJS,我不能使用。 我的url http://localhost:3000/Tutorial/Routing/StateProvider/index.html#/Setting/StudenList 我想要的URL http://localhost:3000/Tutorial/Routing/StateProvider/index.html/Setting/StudenList 笔记: 没有这个解决scheme$locationProvider.html5Mode(true); 和<base href="/" />但是我使用NodeJS / ExpressJS然后我想删除#和刷新页面问题解决 码 Folder Structure directive .my代码非常长,然后我mange片段( 内部的HTML和JS )。 不运行代码片断,因为我插入所有的代码只是为了了解我的代码是什么错误。 sample2(refreshissue) [Project Name] — Public — Tutorial –Directive -index.html –Routing –StateProvider -Account.html -index.html -Setting.html -StudentListing.html […]