2016-07-08 12 views
5

आईओएस डिवाइस पर अपना ऐप लोड करने का प्रयास करते समय मुझे निम्न त्रुटि मिलती है;टाइपस्क्रिप्ट में "सख्त उपयोग करें" रोकें?

VMundefined bundle.js:1722 SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.

यह त्रुटि iPhone 5s/6s + विभिन्न iPad के मैंने कोशिश की (जो याद नहीं कर सकते) के एक जोड़े को हुई। यह एचटीसी वन पर भी काम नहीं करता था। यह त्रुटि मैंने कोशिश की किसी भी सैमसंग/विंडोज फोन पर नहीं हुई। यह डेस्कटॉप पर भी काम किया। (मैंने इसे अभी तक मैक पर चलाने की कोशिश नहीं की है)।

यहां bundle.js से कोड की उस पंक्ति है;

{}],12:[function(require,module,exports){ 
"use strict"; 
const guage_1 = require("./charts/kpi/guage"); 
const stacked_1 = require("./charts/area/stacked"); 
const barChart_1 = require("./charts/compare/barChart"); 

जब मैं "सख्त का उपयोग करें" bundle.js यह सभी उपकरणों पर ठीक काम करता है से हटा दें। बस यह सोचने का कोई तरीका है कि टाइपस्क्रिप्ट "सख्त उपयोग" या आईओएस उपकरणों के साथ समस्या के लिए एक संकल्प के साथ संकलित नहीं है?

यहाँ संकलन के लिए मेरे gulpfile है

var gulp = require('gulp'), 
    sourcemaps = require('gulp-sourcemaps'), 
    source = require('vinyl-source-stream'), 
    tsify = require('tsify'), 
    browserSync = require('browser-sync'), 
    postcss = require('gulp-postcss'), 
    uglify = require('gulp-uglify'), 
    concat = require('gulp-concat'), 
    rename = require('gulp-rename'), 
    watchify = require("watchify"), 
    browserify = require('browserify'), 
    gutil = require("gulp-util"), 
    buffer = require('vinyl-buffer'), 
    processorArray = [ 
     ... 
    ], 
    watchedBrowserify = watchify(browserify({ 
     basedir: '.', 
     debug: true, 
     entries: ['src/main.ts'], 
     cache: {}, 
     packageCache: {} 
    }).plugin(tsify)), 
    devPlugin = './src/plugins/'; 

function bundle() { 
    return watchedBrowserify 
     .bundle() 
     .pipe(source('bundle.js')) 
     .pipe(gulp.dest("dist")); 
} 

gulp.task('default', ['styles', 'browser-sync', 'watch'], bundle, function() { 

    return browserify({ 
      basedir: '.', 
      debug: true, 
      entries: ['src/main.ts'], 
      cache: {}, 
      packageCache: {} 
     }) 
     .plugin(tsify) 
     .transform("babelify") 
     .bundle() 
     .pipe(source('bundle.js')) 
     .pipe(buffer()) 
     .pipe(sourcemaps.init({ 
      loadMaps: true 
     })) 
     .pipe(sourcemaps.write('./')) 
     .pipe(gulp.dest('dist')) 


}); 

watchedBrowserify.on("update", bundle); 
watchedBrowserify.on("log", gutil.log); 

उत्तर

6

आप क्या कर सकते हैं (गाइड typescripts website पर प्रकाशित पीछा किया) कि tsconfig.json में "compilerOptions" करने के लिए --noImplicitUseStrictcompiler option जोड़ें "noImplicitUseStrict": true साथ संकलन के द्वारा।

ऐसा करने से कंपाइलर को "use strict" उत्सर्जित करने से रोका जाएगा।

संबंधित मुद्दे