Yakalanmayan TypeError gulpfile.babel --harmony: operationStore.getItems değil Bir problemin ne olduğunu bilmeye bile yakın değilim. İşte gulp dosyası ve hatanın oluştuğu yer.
Daha önce index.ejs dosyasındaki app.js'm dışındaki her şeyi bildirirken kullanılan kod. Ancak bu, ihtiyacım olan sunucu tarafı dosyalarındaki es6'yı kullanmamı engelledi. Öyleyse ben - armoni bayrağını kullanmamın es6'yı kullanmamı sağladığını söyledim. Ancak uyum bayrağını kullandığımda gerçekleşen bu hatanın üstesinden gelemiyorum.
getItems açık bir şekilde benim için bir işlev, ne oluyor?
Main.jsx
var Login = require('./auth/LogApp.jsx');
var operationStore = require('./stores/OperationStore.jsx');
var initial = operationStore.getItems();
Gulpfile.babel.js
var gulp = require('gulp');
var LiveServer = require('gulp-live-server');
var browserSync = require('browser-sync');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var babelify = require('babelify');
gulp.task('live-server', function(){
var server = new LiveServer('server/main.js');
server.start();
})
gulp.task('bundle',['copy'], function(){
return browserify({
entries:'app/main.jsx',
jquery : 'jquery-browserify',
debug:true,
})
.transform(babelify,
{
"presets": ["es2015", "react", "stage-1"],
"plugins": ["transform-decorators-legacy", "transform-function-bind"],
extensions: [".jsx", ".js",]
})
.bundle()
.pipe(source('app.js'))
.pipe(gulp.dest('./.tmp'));
})
gulp.task('copy', function() {
gulp.src(['app/*.css', 'app/Icons/**/*','app/stores/**/*', 'app/helper/**/*', 'app/dispatcher.js','bundle.js', 'app/helpers/RestHelper.js',
'app/actions/OperationActionCreator.jsx', 'app/actions/SurgeonActionCreator.jsx',
'app/actions/PatientActionCreator.jsx','app/actions/ORActionCreator.jsx',
'node_modules/guid/guid.js','node_modules/jquery/**/*', 'bower_components*/**/*'])
.pipe(gulp.dest('./.tmp'));
})
gulp.task('serve', ['bundle', 'live-server'], function(){
browserSync.init(null,{
proxy:"http://localhost:7777",
port: 9001
})
})
gulp.run('serve')
OperationStore.jsx
var operationStore = function() {
var operations = [];
var listeners = [];
var updateOperations = function(helper){
helper.get("api/operations")
.then(function(data){
operations = data;
triggerListeners(listeners);
});
}
updateOperations(helper);
function getItems(){
return operations;
};
var addOperationItem = function(operation) {
operations.push(operation);
triggerListeners(listeners);
helper.post("api/operations", operation);
}
var deleteOperationItem = function (operation) {
var index;
operations.filter(function (_operation, _index) {
if (_operation.name == operation.name) {
index = _index;
}
});
operations.splice(operation, 1);
triggerListeners(listeners);
//added this
helper.del('api/operations/'+ operation._id);
}
var onChange = function(listener){
listeners.push(listener);
return listeners;
}
var triggerListeners = function(listeners) {
listeners.forEach(function(listener) {
listener(operations);
})
}
var registerEvent = function (event) {
var split = event.type.split(':');
if (split[0] === 'operation-item') {
switch (split[1]) {
case "add":
addOperationItem(event.payload);
break;
case "delete":
deleteOperationItem(event.payload);
break;
}
}
}
var dispatchRegister = function(dispatcher) {
dispatcher.register(registerEvent);
}
dispatchRegister(dispatcher);
return {
getItems: getItems,
onChange: onChange,
addOperationItem: addOperationItem,
deleteOperationItem: deleteOperationItem,
triggerListeners: triggerListeners,
dispatchRegister: dispatchRegister,
registerEvent: registerEvent,
updateOperations: updateOperations
}
}();