2017-06-15 10 views
5

मैं ईएस 6 में अपना प्रोजेक्ट लिख रहा हूं, और वर्तमान में i18next मॉड्यूल के साथ किसी समस्या का सामना कर रहा हूं। https://www.i18next.com/i18next मॉड्यूल के साथ Google Apps स्क्रिप्ट त्रुटि

मेरे स्थानीय सिस्टम पर, जब मैं i18next import i18next from 'i18next'; आयात करता हूं और इसे अपनी स्रोत फ़ाइलों में उपयोग करता हूं, सब कुछ काम करता है। हालांकि, मैं npm run gulp चलाता हूं (यह सभी स्रोत फ़ाइलों को एक जावास्क्रिप्ट फ़ाइल - main.js में जोड़ता है) और उस कोड को Google Apps स्क्रिप्ट (gapps upload का उपयोग करके) अपलोड करने का प्रयास करें, यह Bad Request. Upload failed. त्रुटि के साथ विफल रहता है।

ऑनलाइन जाँच करने के बाद मुझे पता चला कि इस त्रुटि का अर्थ है कि कुछ वाक्य रचना के साथ कुछ गड़बड़ है, तो मैं Google Apps स्क्रिप्ट में main.js से कोड पेस्ट कॉपी करने की कोशिश की और यह निम्न सिंटैक्स त्रुटि दिखाता है:

Invalid property ID. (Line 32, file "main")

लाइन 32:

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 

यह त्रुटि तब होती है, भले ही मैं केवल वास्तव में इसके साथ कुछ भी करने के बिना i18next मॉड्यूल आयात करते हैं।

यहाँ मेरी gulpfile है:

import gulp from 'gulp'; 
import browserify from 'browserify'; 
import source from 'vinyl-source-stream'; 
import mocha from 'gulp-mocha'; 

const compileFile = 'main.js'; 

gulp.task('dest',() => { 
    browserify({ 
     entries: ['src/'+compileFile] 
    }) 
    .transform('babelify') 
    .plugin('gasify') 
    .bundle() 
    .pipe(source(compileFile)) 
    .pipe(gulp.dest('dist')); 
}); 

gulp.task('test',() => { 
    gulp.src('test/**/*.js', {read: false}) 
    .pipe(mocha({ 
     reporter: 'spec', 
     compilers: 'js:babel-core/register' 
    })); 
}); 

gulp.task('default', ['test', 'dest'],() => {}); 

gulp.task('watch',() => { 
    gulp.watch('src/**/*.js', ['dest']); 
}); 

इसके अलावा i18n मॉड्यूल, does not काम का उपयोग करने की कोशिश की।

मैं अपने अनुवादों के लिए एक टेक्स्ट टेक्स्ट मॉड्यूल का उपयोग करना चाहता हूं, मुद्रा/दिनांक प्रारूप अनुकूलन की आवश्यकता नहीं है। अनुवाद फ़ाइलों से बस एक पाठ गेटर। json पो या किसी अन्य एक्सटेंशन का उपयोग नहीं किया जा सकता (मैं, सभी एक फ़ाइल के रूप में गैस पर अपलोड करने की आवश्यकता होगी न लगता है कि वे .js अलावा अन्य किसी भी फ़ाइलों की अनुमति)

मेरे टेम्पलेट फ़ाइलें इस en.js की तरह हैं:

const res = { 
    template: { 
    "signIn":"Hello, <@#1>! Signed you in (#2)", 
    ... 
    }, 
    command: { 
    "signIn": "hi", 
    ... 
    } 
}; 
export default res; 

उत्तर

5

बस कामकाजी समाधान मिला!

सभी अंतर्राष्ट्रीयकरण पुस्तकालयों को आजमाने और विभिन्न गैस और नंगा संबंधित त्रुटियों को प्राप्त करने के बाद, node-polyglot मॉड्यूल मेरे लिए काम किया!

फिर भी कारण है कि i18next नहीं है काम कर रहा है, हालांकि

+1

वास्तव में अजीब ... इस मुद्दे के मार्ग कारण को जानना दिलचस्प होगा। – jamuhl

+0

हां! मैंने i18next repo पर कोई समस्या बनाई, लेकिन मुझे बताया गया कि मुझे Google Apps स्क्रिप्ट से संपर्क करना चाहिए क्योंकि समस्या शायद उनके पक्ष में कुछ करने के लिए है। ऐप्स स्क्रिप्ट समर्थन पृष्ठ पर कोई समस्या उत्पन्न हुई लेकिन अभी तक कोई प्रतिक्रिया नहीं मिली – JapanGuy

+0

@jamuhl ओह मुझे अभी एहसास हुआ कि यह था कि मैं जिथब पर बात कर रहा था। रास्ते में आपकी मदद के लिए धन्यवाद! मुझे i18next मेरे अन्य ब्राउज़र आधारित प्रोजेक्ट पर काम कर रहा है! यह बहुत अच्छा है! – JapanGuy

1

Google Apps स्क्रिप्ट ES6 के लिए समर्थन सीमित है पता नहीं है। जैसा कि मैं समझता हूं, जीएएस में ईएस 5 और ईएस 6 पर पेश की गई कोई भी विशेषताएं शामिल नहीं हैं।

से https://developers.google.com/apps-script/guides/services/#basic_javascript_features

Basic JavaScript features

Apps Script is based on JavaScript 1.6, plus a few features from 1.7 and 1.8. Many basic JavaScript features are thus available in addition to the built-in and advanced Google services: you can use common objects like Array, Date, RegExp, and so forth, as well as the Math and Object global objects. However, because Apps Script code runs on Google's servers (not client-side, except for HTML-service pages), browser-based features like DOM manipulation or the Window API are not available.

Mozilla Developer Network के अनुसार, जावास्क्रिप्ट 1.6 ECMAScript 3 (ES3) से मेल खाती है।

+0

मुझे यह नहीं पता था, धन्यवाद!लेकिन मुझे लगता है कि मेरा gulpfile मेरे स्रोत कोड को जावास्क्रिप्ट में बदलता है (सुनिश्चित नहीं है कि कौन सा संस्करण)। और मैंने कुछ अलग नोड मॉड्यूल का उपयोग किया और मुझे केवल अंतरराष्ट्रीयकरण मॉड्यूल के साथ वाक्यविन्यास त्रुटियां (ऐप्स स्क्रिप्ट पर) मिल रही हैं। बाकी सब कुछ अपेक्षित के रूप में काम करता है – JapanGuy

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