我努力學習的Node.js(ES6),但未能對require
Node.js的簡單的項目:的ReferenceError:<ClassName>沒有定義
這是我的結構:
baseModel。 JS
"use strict";
class BaseModel {
constructor(options = {}, data = []) { // class constructor
this.name = 'Base'
this.url = 'http://azat.co/api'
this.data = data
this.options = options
}
getName() { // class method
console.log(`Class name: ${this.name}`)
}
}
AccountModel.js個
"use strict";
require('./baseModel.js');
class AccountModel extends BaseModel {
constructor(options, data) {
super({private: true}, ['32113123123', '524214691']) //call the parent method with super
this.name += 'Account Model'
this.url +='/accounts/'
}
get accountsData() { //calculated attribute getter
// ... make XHR
return this.data
}
}
main.js
"use strict";
require('./AccountModel.js');
let accounts = new AccountModel(5)
accounts.getName()
console.log('Data is %s', accounts.accountsData);
我現在運行:node --harmony-default-parameters main.js
,並得到錯誤:
ReferenceError: BaseModel is not defined at Object. (/Users/tamirscherzer/POC/projects/NodeJS/tutorials/classes/AccountModel.js:5:28) at Module._compile (module.js:397:26) at Object.Module._extensions..js (module.js:404:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object. (/Users/tamirscherzer/POC/projects/NodeJS/tutorials/classes/main.js:5:1) at Module._compile (module.js:397:26) at Object.Module._extensions..js (module.js:404:10)
真是奇怪了,如果我改變require('./baseModel.js');
以其他名稱,我得到錯誤的文件n沒有發現這樣的路徑寫得很好。
還定義權限777
- 同樣的事情,BaseModel is not defined
什麼想法?
可能是名稱的情況下sensite的文件和類的名稱baseModel –
當你需要某個東西時,你需要將返回的對象分配給一個名字 – thefourtheye
通過前綴export來導出類,如下所示export class BaseModel { –