小编sho*_*a T的帖子

在运行时将ES5代码转换为ES6

有一个选项可以使用babel API将javascript代码从ecma脚本5转换为ecma脚本6吗?我的意思是让我说我​​使用以下cdn

https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.js

并使用简单的ES5代码提供类似数组或对象的源,并将其转换为ES6代码的某些数组/对象/字符串?

有可能以某种方式用babel或其他工具实现这一目标吗?

我的意思是从这里使用一些例子.. https://github.com/addyosmani/es6-equivalents-in-es5

如果我输入源ES5代码

[1, 2, 3].map(function(n) { return n * 2; }, this);
Run Code Online (Sandbox Code Playgroud)

它在ES6中转换为箭头功能

[1, 2, 3].map(n => n * 2);
Run Code Online (Sandbox Code Playgroud)

UPDATE

我需要的是采用ES5代码并将其更改为ES6代码,它可以通过api

例如,我需要API /开源做这样的事情(我的代码在左侧)

例如链接

javascript ecmascript-6 babeljs

21
推荐指数
2
解决办法
3746
查看次数

在lodash中添加对象的新属性

我有两个对象,我想添加从对象A到对象B的属性,我尝试使用不起作用的扩展,我是否需要使用不同的东西?

a = {
name = "value"
name2 = "value2"
}

b = {
name3 = "value"
name4 = "value2"
}
Run Code Online (Sandbox Code Playgroud)

我希望A包含两者

a = {
name = "value"
name2 = "value2"
name3 = "value"
name4 = "value2"
}
Run Code Online (Sandbox Code Playgroud)

javascript underscore.js lodash

15
推荐指数
2
解决办法
4万
查看次数

在MVC5中使用java脚本代码 - 在哪里放置它

我有MVC5应用程序并在视图index.cshtml中我需要使用一些java脚本代码,目前我把脚本代码放在视图中并且工作正常.我的问题是我应该在哪里放置这些代码(来自最佳实践)以及我应该如何从视图中引用它?请提供一个示例.

asp.net asp.net-mvc razor asp.net-mvc-3 asp.net-mvc-4

14
推荐指数
2
解决办法
2万
查看次数

解压错误[错误:签名无效:0xff000001]

我使用以下库进行节点解压缩 https://github.com/EvanOxfeld/node-unzip

我使用的代码是

var extractor = unzip.Extract({
                path: 'C://TestFolder//TestZip'
            }).on('close', function () {
              console.log("Success to unzip");
            }).on('error', function (err) {
                console.log("error to unzip", err);
            });
            req.pipe(extractor);
Run Code Online (Sandbox Code Playgroud)

在一些zip文件我得到错误的问题(在其他人的工作正常)[错误:无效签名:0x8080014] [错误:无效签名:0x83870008] ....

这个错误并没有提供很多信息...在网上搜索我发现这个 https://github.com/EvanOxfeld/node-unzip/issues/41

并安装并要求unzip2包而不是解压缩,现在问题是我得到以下错误解压错误:无效签名:0xff000001

我使用相同的代码解压缩和unzip2(我在上面的帖子中提供),我需要使用它吗?任何提示如何解决?

UPDATE

我从postman发送zip文件,如下所示 在此输入图像描述

javascript unzip node.js

14
推荐指数
2
解决办法
2797
查看次数

将对象保存在模块中并从不同模块访问它

我使用以下代码来解析json数据并将其保存在我的模块内部,例如当服务器(如npm server.js)时,我正在使用parse 解析json文件的函数.
最后,这些解析过的jsons保存在对象中configObj,我想在用户请求期间(通过express)在路由器模块或其他模块中获取此对象.

我该如何实现这一目标?

var configObj;
parse = function () {
        return fs.readFileAsync(file, 'utf8')
            .then(function (res) {
                return JSON.parse(res)
            }).then(function (jsonObj) {
                configObj = jsonObj;
                return jsonObj;
            })
....
        })
    };
    module.exports = {
        parse: parse,
        configObj: configObj
    }
Run Code Online (Sandbox Code Playgroud)

parse函数只调用一次,我想configObj在不同的模块中访问很多次.

javascript module node.js express

13
推荐指数
1
解决办法
501
查看次数

使用twitter API有时会出错

我使用下面的代码,它有时工作,但它不稳定,当我运行程序有时我得到错误420与json解析错误,这不会给你很多提示如何解决它.知道我做错了什么吗?

错误是:

获取推文出错:错误:状态代码:420获取推文时出错:SyntaxError:位于0的JSON中出现意外的令牌E

var Twitter=require('twitter');
var lclconf = require('../config.json');


var client=new Twitter({
  consumer_key: lclconf.twitter.consumer_key,
  consumer_secret: lclconf.twitter.consumer_secret,
  access_token_key: lclconf.twitter.access_token_key,
  access_token_secret: lclconf.twitter.access_token_secret
});
stream.on("data", function(data){
  console.log(data.id_str);
  var tweet_id="https://api.twitter.com/1.1/statuses/oembed.json?id="+data.id_str;
  request.get(tweet_id)
  .end(function(err,res){
      if(err){
        console.log("Error from Twitter API: " + err);
      }else{
        //console.log(res.body);
        io.emit('tweet',res.body);
      }
  });
});
stream.on('error', function(err){
  console.log("Error getting tweets: "+err);
});
io.on('connection', function(client){
  client.on("join", function(data){
    console.log(data);
  });
  client.emit("join",{"message":"running"});
});
Run Code Online (Sandbox Code Playgroud)

也许如果有一种方法可以在发生错误时忽略它并继续进行,因为现在该过程已经停止.

更新:

在Twitter文档中有关于HTTP 420的信息但不确定如何修复它...

javascript twitter node.js twitter-oauth express

11
推荐指数
2
解决办法
603
查看次数

节点代理Web套接字如何检查

我使用以下模块,它适用于反向代理 https://github.com/nodejitsu/node-http-proxy 目前我使用的代码如下例

httpProxy.createServer({
  target: 'ws://localhost:9014',
  ws: true
}).listen(8014);
Run Code Online (Sandbox Code Playgroud)

我的问题是如何检查/模拟 websockets是否正常工作?任何测试都会有所帮助......

sockets proxy websocket node.js node-http-proxy

10
推荐指数
1
解决办法
1417
查看次数

使用12mb文件大小的解压缩时出错

我使用以下开源解压缩文件及其工作正如预期的拉链大小2-5 MB,但当我把zip放在10多MB上我有错误,有更稳定的开源我可以用于大型zip文件?我需要它在MIT许可下.这就是我用过的 https://github.com/EvanOxfeld/node-unzip

var extractor = unzip.Extract({ path: "../"});

extractor.on("close", function() {
    console.log("Success unzip");
});

extractor.on("close", function(err) {
    console.log(err);
});

req.pipe(extractor);
Run Code Online (Sandbox Code Playgroud)

javascript unzip node.js express

10
推荐指数
1
解决办法
575
查看次数

节点子进程事件侦听

我使用节点child_process API

https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options

var child = child_process.spawn(cmd, val, options);
Run Code Online (Sandbox Code Playgroud)

从孩子我使用以下

child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
Run Code Online (Sandbox Code Playgroud)

我可以在这些管道事件里面添加一些代码如console.log吗?

例如,可能与原型

child.on('error', function(err) {
        console.log(err);
    });
Run Code Online (Sandbox Code Playgroud)

更新

我需要的是听听这个childProcess.stderr.pipe(process.stderr);,以防我得到错误process.exit(1)

当我尝试像我得到错误的东西

    child.stderr.pipe(function () {
            console.log("im here");
            process.stderr;
            process.exit(1);
        }
    );
Run Code Online (Sandbox Code Playgroud)

UPDATE2

我尝试以下方法

var child = child_process.spawn(cmd, value, opt);

child.stdout.on('data', function (data) {
    console.log("IM HERE");
    console.log('data' + data);
});
child.stderr.on('data', function (data) {
    console.log("IM HERE");
    console.log('test: ' + data);
    reject(data);
});
child.on('close', function (code) {
    console.log("IM HERE");
    console.log("close");
});
child.on('error', function (err) {
    console.log("IM HERE");
    console.log(err);
}); …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-events spawn child-process node.js

10
推荐指数
2
解决办法
3206
查看次数

如何在RT上添加插件并使用一些外部模块/文件

我有node.js应用程序/模块,它与插件概念一起工作正常,即

我的模块就像代理一样具有其他功能,例如为开箱即用的功能(方法)添加新功能.为此,您需要执行以下操作:

克隆我的应用程序

创建一个名为extenders的新文件夹(在我的app中)

在此文件夹中,您应该提供两个文件

  1. extend.js将您的逻辑作为函数/方法
  2. extend.json定义你的API(知道要调用哪个文件)

注意:JS和JSON文件名必须相同

例如,假设这是您的extend.json文件

{
  "extenders": [
    {
        "path": "run",
        "fn": "runFn"
      },
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,当用户在浏览器中输入以下链接时

本地主机:3000 /运行

我用它的逻辑调用runFn函数(存在于extend.js文件中)并且这正在按预期工作(在我读取json和js文件并调用函数时extender[fnName](req, res));

现在我想支持通过代码添加外部扩展器的用例, 例如用户将执行类似的操作

var myModule = require('myModule');

myModule.extend('./pathTo/newExternalPathforExtendersFolder');
Run Code Online (Sandbox Code Playgroud)

所以当我的模块运行搜索天气有一个与所有的配置存在新的外部扩展,如果是指它在RT(于JS和JSON文件).

我的问题是:

  1. 我需要找到我的模块何时启动谁注册到我的模块然后在这个模块上做我的逻辑,如何在节点中完成?

2.如果节点中有其他解决方案,请告诉我.

javascript module node.js npm express

8
推荐指数
1
解决办法
219
查看次数