प्रश्न:
निम्नलिखित समस्या है जिसका मुझे सामना करना पड़ा, मैं एक ट्यूटोरियल का अनुसरण कर रहा था और यह निम्नलिखित scss
फ़ाइल को संकलित करने की कोशिश कर रहा था और इसमें से सीएसएस उत्पन्न करने की कोशिश कर रहा था,
.fatty{
width: percentage(6/7);
}
निम्नलिखित gulpfile.js
कार्य का उपयोग करना:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
return gulp.src('app/scss/styles.scss')
.pipe(sass())
.pipe(gulp.dest('app/css'))
});
इसलिए मुझे जो त्रुटि मिल रही है वह इस प्रकार है:
~/htdocs/Learning/gulp1/node_modules/gulp-sass/index.js:66
let sassMap;
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
// stacktrace here...
समाधान:
तो यह मुझे index.js
फ़ाइल दिखाता है जो मेरे gulp-sass मॉड्यूल के अंदर है (जो मूल रूप से बंद है और इसे संपादित नहीं किया जाना चाहिए)। लेकिन अगर मैं जबरदस्ती जाता हूं और "use_strict"
उस index.js
फ़ाइल के शीर्ष पर जोड़ देता हूं, तो यह मेरे कार्य को सुचारू रूप से चलाता है।
मैं असहाय था, इसलिए मैं इसका उपयोग समाधान के रूप में करता रहता हूं! लेकिन फिर कुछ अन्य एसओ Q & A के माध्यम से जाने के बाद मैंने निम्नलिखित उत्तर देखा :
sudo npm install -g n
sudo n stable
और जल्द ही मैंने अपने NodeJs (Version10.x पर) को अपडेट कर दिया, और फिर टर्मिनल के निर्देशानुसार निम्नलिखित कमांड चलाकर गुल्प को फिर से बनाया।
npm rebuild node-sass --force
और यह सब ठीक है। तो यह है कि यह कैसे हल हो गया। मैंने उन बदलावों को पूर्ववत् किया है जो मैंने index.js
gulp मॉड्यूल फ़ाइल के लिए किए थे। और अब यह आसानी से चलता है।
आशा है कि यह उत्तर किसी के लिए उपयोगी होगा!