Tag: ecmascript 6

为什么fromClause在import语句期望string文字?

在我们之前的node.js应用程序(基于ES5)中,我们努力在require语句中使用相对path。 例如: var conf = require('../../global/config'); 相对path的问题在代码混淆中冒出来了。 我们不得不花费相当多的时间来处理这个问题。 有了这样的经验,在我们当前的node.js应用程序(基于ES6),虽然我不知道我们是否会混淆代码或不我不想使用相对path。 因此,我在每个文件中创build了一个const ROOTDIR,并为其指定了项目的绝对path。 然后意识到导入期望只有静态文字从它的。 通过强制键入(复制/粘贴)每个导入的完整path或使用相对path返回,或使用require语句,这会使生活变得困难。 虽然我想了解使用导入风格的好处,但在理解以下3点方面需要一些帮助。 除了类似的java / .net编码风格之外,还有什么优点呢? 为什么导入只接受string文字? 这似乎是devise,如果是这样,为什么? 如果我想根据某些条件导入一个模块,那么我将不得不去执行require,因为我不能在if / else或switch语句中使用import 。 有没有解决scheme/破解? 感谢所有的帮助。

无法在callback函数上进行分页

我试图分页的callback函数调用,但得到第二个电话的错误 我的function是: let content = '' let size = 100 let from = 1 function result(size, from, callback) { api.performRequest('/myContents', 'GET', { pageSize: size, startFrom: from, filter:'NOT contents:[* TO *]', }, function (data) { content += JSON.stringify(data) callback() }) } function logContent() { const parsed = JSON.parse(content) console.log('content length: ', parsed.body.length) if (parsed.body.length === size) […]

如何将RUN操作绑定到Cloud9中正确的NodeJS版本?

背景 我有一个非常sinmple nodejs应用程序使用ECMA6的对象破坏运算符 "use strict"; function bananas(){ return { type: "fruit", color: "yellow" }; } function eat(){ var { type, color } = bananas(); return `I eat ${type} colored ${color}`; } console.log(eat()); 问题 当我点击index.js的运行button(或者当你右键点击index.js然后select“运行这个文件”) 我得到以下错误: Debugger listening on [::]:15454 /home/ubuntu/workspace/server/index.js:16 var { ^ SyntaxError: Unexpected token { at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js […]

的NodeJS。 无法读取未定义的属性

在课堂上使用另一种方法有问题。 我正在使用快速框架,并且必须使用Ecma Script 6.当我尝试在同一个类中使用方法时,我有一个错误: 无法读取未定义的属性'generatePassword' TypeError:无法在Layer.handle [作为handle_request](E:\ OpenServer \ domains \)上的createUser(E:\ OpenServer \ domains \ testNode \ app \ controllers \ users.js:5:13)中读取未定义的属性'generatePassword'在Route.dispatch上的下一个(E:\ OpenServer \ domains \ testNode \ node_modules \ express \ lib \ router \ route.js:131:13)上运行testNode \ node_modules \ express \ lib \ router \ layer.js:95: (E:\ OpenServer \ domains \ testNode \ node_modules […]

ECS6如何在类中定义/创build新的对象

我是ES6的初学者,我需要在一个类中实例化新的对象。 如何做到这一点,以及如何在函数getName()中访问“在这种情况下”连接的最佳方式。 大概说胡话,但我需要了解这是如何工作的演变。 任何人都可以为我提供任何提示。 以上例子很less class Test { constructor(array){ this.array = array // CONNECT DATABASE var connection = mysql.createConnection({this.array}) } getName(){ query = 'SELECT * FROM mytable LIMIT 1' connection.query(query, function (err, rows, fields) { return rows }) } } array = { host: 'localhost', user: 'root', password: '', database: 'mydb' } let T = […]

响应中的'Access-Control-Allow-Credentials'标题是'',必须是'true'

我正在使用节点,expression在后端和angular4在客户端,这给我下面的错误: XMLHttpRequest无法加载http:// localhost:4876 / login / check 。 对预检请求的响应不通过访问控制检查:响应中的“访问控制 – 允许 – 凭证”标头的值为“',当请求的凭证模式为”包含“时,该值必须为”真“。 原因' http:// localhost:4200 '因此不被允许访问。 由XMLHttpRequest发起的请求的凭证模式由withCredentials属性控制。 用于login/检查的Api实现如下: router.get('/login/check', (req: any, res: any) => { let api = new ApiConnection(req, res); let accessCard: IAccessCard = api.getContent(Auth.ACCESS_CARD_KEY); if(!Auth.isValid(accessCard)) return api.response.error(); ChatBox.auth.isExpired(accessCard, function (err:any, isExpired: boolean) { if (err) return api.response.error(); if(!isExpired) { api.cookie("AccessCard", accessCard); api.response.success(accessCard); […]

intellij想法中的多个ECMA脚本版本

我正在使用Intellij IDEA来开发一个Node.js应用程序。 我在前端使用es5,在后端使用es6。 有没有一种方法来定义每个文件夹的ECMAScript级别? 谢谢

当方法分配给一个variables时,ES6丢失范围

我发现和意外的行为。 任何人都可以解释为什么“这个”是当一个方法被引用到像下面的例子中的variables丢失? class Foo { static bar() { return 'bar'; } baz() { return this.constructor.bar(); } } const foo = new Foo(); foo.baz(); // works fine const baz = foo.baz; baz(); // TypeError: Cannot read property 'constructor' of undefined 要点: https : //gist.github.com/sznowicki/c076c52a0242c77a3044f4a79e9af4c3

将我的库分离到Libs,Core和Addons

我在这个世界很新,所以忍受着我。 我有我的大图书馆,我试图将其转换为es6模块, babel & webpack将其捆绑到几个文件。 我的库文件夹看起来像这样 –src — core — folder1 — folder2 — addons — addon 1 — addon 1 files and folders — addon 2 — addon 2 files and folders — libs — internal — internal lib1 — internal lib2 — external — external lib1 — external lib2 我的库代码是分开的2 – 核心代码和插件,我正在使用一些库( libs文件夹) […]

存储一个类实例成员函数的引用使得它的范围变得松散

我正在使用节点v8.1.3 我在文件utility.js有一个类Utility class Utility { constructor() { this.typeChecker = require('javascript-type-checker'); this.internalErrors = require('../constants/internalErrors'); this.axios = require('axios'); this.config = require('../config'); } getCurrentWeatherByLatLong(latitude, longitude) { if(!this.isValidLatitude(latitude)) throw this.internalErrors.ERR_LAT_INVALID; if(!this.isValidLongitude(longitude)) throw this.internalErrors.ERR_LONG_INVALID; const url = `${this.config.BASE_URL}?appid=${this.config.API_KEY}&lat=${latitude}&lon=${longitude}`; return this.axios.default.get(url); } isValidLatitude(latitude) { return (this.typeChecker.isNumber(latitude) && latitude >= -90 && latitude <=90); } isValidLongitude(longitude) { return (this.typeChecker.isNumber(longitude) && longitude >= […]