私はES6列車で最終的にホッピングしています。コンパイルのためにES6とBabelを使って小さなNode.jsアプリケーションを作成しました。私はMochaを使ってテストを書いています。私が読んだ限り、あなたはまだES6を使うべきではありません。ES5コードでのES6クラスの使用
私が作ったオブジェクトクラスのいくつかの関数をテストしようとしています。だから、モカに私がやっている次:
はっきりためのラインの仕事ではないでしょうvar assert = require('assert');
var Icon = require('../lib/icon');
describe('Icons', function() {
describe('#save()', function() {
it('should return a success message & save the icon', function() {
var icon = new Icon('https://cdn4.iconfinder.com/data/icons/social-media-2070/140/_whatsapp-128.png', 'icon-test');
var result = Icon.save();
if(result !== '_whatsapp-128.png saved successfully.') return false;
return fs.existsSync('icon-test/_whatsapp-128.png');
});
});
});
:私はES6オブジェクトをインスタンス化することができることはどのように非常にわからない
var icon = new Icon('https://cdn4.iconfinder.com/data/icons/social-media-2070/140/_whatsapp-128.png', 'icon-test');
ES5を使用して機能をテストします。どんな助けでも大歓迎です。
** EDIT追加 - アイコンファイル**
import fs from 'fs';
import https from 'https';
import path from 'path';
class Icon {
constructor(source, destination) {
this.source = source;
this.destination = path.resolve(destination);
}
save() {
console.log(this.source);
// Fetching the icon.
let request = https.get(this.source, (response) => {
// Splitting the file information.
let fileInfo = path.parse(this.source);
// Creating the directory, if it does not already exist.
if(!fs.existsSync(this.destination)) {
fs.mkdirSync(this.destination);
console.log('Destination directory created.\n');
}
// Piping the icon data & saving onto disk.
let iconFile = fs.createWriteStream(this.destination + '/' + fileInfo.base);
response.pipe(iconFile);
return `${fileInfo.base} saved successfully.`;
});
}
}
export default Icon;
"これは明らかに行のために動作しません"どうしてですか?オブジェクトはES5に存在しますが、新しい 'class'構文だけです。 – Ajedi32
'ES6'と 'ES5'に反対するのは意味がありません。それはJSです。問題の内容を詳細に記入してください。エラーメッセージと '../lib/ icon'のリストが役立ちます。 ES6モジュールから 'var Icon = require( '../lib/ icon')'としてクラスを正常にインポートすることはできません。 – estus
エラーメッセージ:「型エラー:アイコンがコンストラクタではありません」 – nickcorin