একটি ছোট প্রকল্প আমি নোড মডিউল ব্যবহার করতে শুরু করেছি ( এনপিএমের মাধ্যমে ইনস্টল করা ) যা const
ভেরিয়েবল ঘোষণা করে । এই প্রকল্পটি চালানো এবং পরীক্ষা করা ভাল, তবে যখন ইউগলিফজেজেএস কার্যকর করা হয় তখন ব্রাউজারিফাই ব্যর্থ হয়।
অপ্রত্যাশিত টোকেন: কীওয়ার্ড (কনস্ট্যান্ট)
এখানে একটি জেনেরিক গুল্প ফাইল যা আমি এই সমস্যাটি ছাড়াই বিগত কয়েকটি অন্যান্য প্রকল্পের জন্য সফলভাবে ব্যবহার করেছি (অর্থাত্ সেই নির্দিষ্ট নোড মডিউলটি ছাড়াই)।
gulpfile.js
'use strict';
const browserify = require('browserify');
const gulp = require('gulp');
const source = require('vinyl-source-stream');
const derequire = require('gulp-derequire');
const buffer = require('vinyl-buffer');
const uglify = require('gulp-uglify');
const sourcemaps = require('gulp-sourcemaps');
const gutil = require('gulp-util');
const path = require('path');
const pkg = require('./package');
const upperCamelCase = require('uppercamelcase');
const SRC_PATH = path.dirname(pkg.main);
const DIST_PATH = path.dirname(pkg.browser);
const INPUT_FILE = path.basename(pkg.main);
const OUTPUT_FILE = path.basename(pkg.browser);
const MODULE_NAME = upperCamelCase(pkg.name);
gulp.task('default', () => {
// set up the browserify instance on a task basis
var b = browserify({
entries: INPUT_FILE,
basedir: SRC_PATH,
transform: ['babelify'],
standalone: MODULE_NAME,
debug: true
});
return b.bundle()
.pipe(source(OUTPUT_FILE))
.pipe(buffer())
.pipe(derequire())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.on('error', gutil.log)
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(DIST_PATH))
;
});
আমি সব প্রতিস্থাপন করে এই ফিক্সিং চেষ্টা করেছি const
করার var
যে npm-ইনস্টল করা মডিউলে, এবং সবকিছু ঠিক আছে। তাই আমি ব্যর্থতা বুঝতে পারি না।
এর সাথে কী হয়েছে const
? কেউ আই 10 ব্যবহার না করে সমস্ত বড় ব্রাউজার এই বাক্য গঠনটিকে সমর্থন করে।
সেই নোড মডিউলটিতে কোনও পরিবর্তন প্রয়োজন না করে এটি ঠিক করার কোনও উপায় আছে কি?
হালনাগাদ
আমি সাময়িকভাবে (অথবা স্থায়ীভাবে) প্রতিস্থাপিত UglifyJS আছে Butternut এবং কাজের বলে মনে হচ্ছে।
const
? (নিশ্চিত না যখন এটি আসলে চালু করা হয়)