有一个选项可以使用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 /开源做这样的事情(我的代码在左侧)
我有两个对象,我想添加从对象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) 我有MVC5应用程序并在视图index.cshtml中我需要使用一些java脚本代码,目前我把脚本代码放在视图中并且工作正常.我的问题是我应该在哪里放置这些代码(来自最佳实践)以及我应该如何从视图中引用它?请提供一个示例.
我使用以下库进行节点解压缩 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
我使用以下代码来解析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在不同的模块中访问很多次.
我使用下面的代码,它有时工作,但它不稳定,当我运行程序有时我得到错误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的信息但不确定如何修复它...
我使用以下模块,它适用于反向代理 https://github.com/nodejitsu/node-http-proxy 目前我使用的代码如下例
httpProxy.createServer({
target: 'ws://localhost:9014',
ws: true
}).listen(8014);
Run Code Online (Sandbox Code Playgroud)
我的问题是如何检查/模拟 websockets是否正常工作?任何测试都会有所帮助......
我使用以下开源解压缩文件及其工作正如预期的拉链大小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) 我使用节点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) 我有node.js应用程序/模块,它与插件概念一起工作正常,即
我的模块就像代理一样具有其他功能,例如为开箱即用的功能(方法)添加新功能.为此,您需要执行以下操作:
克隆我的应用程序
创建一个名为extenders的新文件夹(在我的app中)
在此文件夹中,您应该提供两个文件
- extend.js将您的逻辑作为函数/方法
- 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文件).
我的问题是:
2.如果节点中有其他解决方案,请告诉我.