0
私はES6プロジェクトを持っています。私はファイルをES5に移したいと思う。私はうんざりの仕事を作りました。ここに私の仕事は、バベルを使用している:なぜ私はjsファイルをトランスパイールできないのですか?
gulp.task('transpile' , function() {
console.log('Transpile js ');
return gulp.src(['app/**/*.js'])
.pipe(babel({
presets: ['es2015']
}))
.pipe(ngAnnotate())
.pipe(uglify().on('error', function(e){
console.log(e);
}))
.pipe(gulp.dest('target/'));
});
は私が私のタスクを実行すると、私はエラーを持っている:
events.js:141
throw er; // Unhandled 'error' event
^
SyntaxError: /Users/me/myapp/target/tmp/src/content.components/login/login.controller.js: Unexpected token (20:16)
18 | }
19 |
> 20 | successAuth = (result) => {
| ^
21 | this.$rootScope.$broadcast('authenticationSuccess');
22 | this.$location.path('/');
23 | };
at Parser.pp.raise (/Users/me/node_modules/babylon/lib/parser/location.js:22:13)
問題は私のコントローラで発生します。
class LoginController {
constructor($rootScope, $location, AuthService) {
this.AuthService = AuthService;
this.$rootScope = $rootScope;
this.$location = $location;
}
login() {
this.loading = true;
this.AuthService.login({
username: this.username,
password: this.password,
rememberMe: this.rememberMe
}).then(this.successAuth, this.failedAuth);
}
successAuth = (result) => {
this.$rootScope.$broadcast('authenticationSuccess');
this.$location.path('/');
};
failedAuth = (error) => {
this.error = 'Identifiant ou mot de passe incorrect';
this.loading = false;
};
}
LoginController.$inject = ['$rootScope', '$location', 'AuthService']
export default LoginController;
解決する方法私のエラーはどうですか?
'functionNameを(){}'構文の代わりに、矢印の機能を使用します。
は、このようなあなたのクラスを記述します。 – str