Articles of javascript

从打字稿模块自动生成index.d.ts,types定义

如果我有一个TypeScript模块保存为my-function.ts,如下所示: export function myFunction (param: number): number { return param } 这将以任何方式编译为JavaScript,并将其types定义放宽。 然后我可以创build一个index.d.ts文件来声明这个模块的定义,但是重新定义/重新定义这个定义似乎有点繁琐。 有没有办法从my-function.ts文件自动生成types定义到一个index.d.ts文件?

缺乏对使用Play + Scala与JavaScript的实用见解

我们(我的团队)开始使用云托pipe的基于Web的应用程序。 我们开始使用Scala + Play作为服务器端的Web应用程序。 由于没有人知道我的团队中的Scala(以前的Java / Java Script / Python / C ++经验),我们所有人都在经历一个陡峭的学习曲线。 花了几周的时间学习Scala的基础知识之后,我们以玩Scala-starter为例来开始。 一个团队成员花了几天的时间创build一个访问mysql数据库的原型GET + POST API处理程序。 考虑到Scala的重大努力和花费的时间,为了比较,一个团队成员在半天(4-5小时)内使用node.js构build了相同的原型function。 这是我们所有人的启示。 为了补充说明,互联网充斥着在企业级应用程序中使用的node.js成功案例(请注意,无论如何,我们将使用基于JS的框架,例如Angular,React等)。 现在作为一个团队,我们正在讨论下一个方法 – play + scala或node.js. 我们不想根据短期收益来做出决定,也不希望在加速时进行最初的斗争。 这就是为什么在这里发布这个问题来获得真实世界的见解。 如果这是一个错误的地方提出这样的问题,那么请build议适当的问题。 由于是“讨论”types,这个问题很可能会被封闭。 注意:这篇文章不是批评任何方法。 所以提前道歉。

如何使用jquery和selenium在'chrome:// downloads'下访问`shadow-root`下的元素?

我想在我的seleniumJavaScript应用程序中获取最后下载的文件的名称。 我有我的selenium驱动程序导航到铬下载页面使用: driver.get('chrome://downloads'); ,但是当我到达那里时,selenium在下载页面上无法find任何元素。 Chrome下载页面“chrome:// downloads”有一堆shadow-root元素,我不知道如何获取下面的内容以访问我想要的id。 如何访问shadow-root项目下的标识符? 我想获得$(“#文件链接”)如下所示: 但是,当我使用jQuery来find它,一切都返回null(可能是因为它是在shadow-root后面) 下面是我所有的信息的全貌,包括显示“#file-link”完全存在: 我用来等待元素存在的代码与我在应用程序中使用的所有元素相同,所以我认为这已经在工作: driver.wait(until.elementLocated(By.id('downloads-manager')), 120000).then(function(){ console.log("#downloads-manager shows"); driver.findElement(By.id('downloads-manager')).then(function(dwMan){ //How do I "open" #shadow-root now? 🙁 }); }); 这是我的版本信息: Chromium v​​54.0.2840.71 节点v6.5.0 ChromeDriver v2.27.440175 selenium-Webdriver v3.4.0 类似的问题 seleniumwebdriver找不到铬://下载 (这是我有,但在Python中相同的问题) 链接 Selenium JavaScript API: https : //seleniumhq.github.io/selenium/docs/api/javascript/

Crypto JS:TripleDES不能正确encryption

当使用crypto js tripleDESencryption时,我注意到所有要encryption的string长度都很小,例如“01”,“111”,“20”,但是如“5000021234567890000”这样的长string,输出不正确,是不是我期待的价值。 例如对于这个“5000021234567890000” ,我期待这个: “HctDaKc / U9avOwZMSS5mEi62kfojDHA4”,但我得到这个,而不是: HctDaKc / U9bNnFy6eZHqHj3SemorJxQM 。 这是我find并用于encryption的代码 let key = CryptoJS.MD5(enckey); key.words[4] = key.words[0]; key.words[5] = key.words[1]; let iv = CryptoJS.lib.WordArray.create(64/8); CryptoJS.TripleDES.encrypt("5000021234567890000", key, {iv: iv}); 您的帮助将非常感激。

存储来自twitter api的数据javascript(nodejs)

我似乎有一个问题。 我试图导出数据从Twitter的API,但我不能。 这是我的代码看起来像: /// Twitter.js module.exports = Twitter function Twitter(twitter) { this.twitter = twitter } Twitter.prototype.friends = function(params) { this.twitter.get('friends/list', params, (err, data) => { if (err) console.log(err) console.log(data) // this prints data to the console but // I want to export and save in a data structure // array or object } } ///bot.js […]

无法将图像保存到插件中

我没有太多关于撇号的知识,但我试图创build一个自定义小部件。 我想在我的小部件中有三个字段: 标题(string) 描述(string) 一个图像 我还没有find一种方法来添加一个图像的小部件作为领域。 现在,我在窗口小部件中添加了一个单例,它工作正常。 但是当添加一个图像时,它会显示在页面上,但是当我重新加载页面时,图像不见了。 我的widget.html代码 <div class="md-jumbotron"> <div class="md-grid"> <h1>{{ data.widget.heading }}</h1> <h6>{{ data.widget.desc }}</h6> <div class="img"> {{ apos.singleton(data.page, 'jumbotroPic', 'apostrophe-images', { limit: 1, size: 'full' }) }} </div> </div> 我在控制台上得到了以下内容 $ node app.js WARNING: No session secret provided, please set the `secret` property of the `session` property of the apostrophe-express […]

多个代理对象对同一个目标的明显污染

我试图为JavaScript中的同一目标对象创build多个代理包装器,每个包装器具有稍微不同的属性,这些属性影响包装的function的操作。 这些属性分配给set的receiver对象并get并get处理程序。 但是,当我检查生成的代理时,它们都具有我希望分配给最后创build的代理的属性集。 const obj = {}; const proxies = ['one', 'two'].map(name => { console.log(`proxy ${name}`); const proxy = new Proxy(obj, { get: (target, prop, receiver) => { if (prop === 'name') { return receiver.name; } return target[prop]; }, set: (target, prop, val, receiver) => { if (prop === 'name') { console.log(`setting name ${val} on […]

在Codeship和Heroku中的angular度代码

我想发布一个basik Angular代码Codeship然后heroku。 但我有一个问题,我无法解决。 我得到这个错误 。 我search了一下,发现那个节点版本太旧了,但是我的电脑里的节点版本是最新的6.11.0,npm 3.10.10。 { "name": "anonymous", "version": "0.0.0", "license": "MIT", "scripts": { "ng": "ng", "start": "http-server dist -p $PORT", "build": "ng build", "test": "ng test –single-run", "lint": "ng lint", "e2e": "ng e2e", "postinstall": "ng build –aot -prod" }, "private": true, "dependencies": { "@angular/animations": "^4.0.0", "@angular/cli": "1.1.1", "@angular/common": "^4.0.0", "@angular/compiler": "^4.0.0", "@angular/compiler-cli": […]

mongoosefindOne里面循环

我有一个document Users将storage属性定义为引用其他document称为Storage的ObjectId数组。 我想获得一个特定的用户,然后返回数组内的存储信息。 这是我的代码: module.exports.storageDetail = function(req, res) { User.findOne({'userId': req.user.userId}, 'storages').then(function(data){ var storageArray = []; data.storages.forEach(function(record){ Storage.findOne({_id: record}, function(err, storage){ storageArray.push(storage); }); }); return Promise.all(storageArray); }).then(function(storageList){ res.render('storage_template', { storage: storageList }); console.log(storageList); }); } 但执行后, storageList是一个空数组。 我是node.js的新手,请告诉我是否需要提供更多信息。

Nodejsasynchronous执行

我正在与我公司的数据库工作,我正在尝试build立一个路线。 我得到的数据是1000个值的JSON数组。 这里的function – router.get('some_route', function(req, res, next){ var ress = []; var name = req.params.name; baWelcomeController.autoComplete(name).then(function(succ){ var x = Object.values(succ[0][0]); res.status(200).send(x); }).catch(function(err){ res.status(404).send(err); console.log("error in router.get", err); }); }); 现在看看我的代码的object.values部分,从互联网我知道它的一个O(n)函数,所以nodejs应该推入到调用堆栈,同时执行其他function,但发生了什么是我得到预期的回应。 succ []中的值的数量是1000,所以我写了另一个函数注释Object.values,并写一个for循环, router.get('some_route', function(req, res, next){ var ress = []; var name = req.params.name; baWelcomeController.autoComplete(name).then(function(succ){ var x = 0; for(var i = 0; i […]