Piszę swój projekt w ES6, a obecnie mam problem z modułem i18next. https://www.i18next.com/Błąd skryptu Google Apps z modułem i18next
W moim lokalnym systemie, kiedy importuję i18next import i18next from 'i18next';
i używam go w moich plikach źródłowych, wszystko działa. Jednak po uruchomieniu npm run gulp
(łączy wszystkie pliki źródłowe w jeden plik javascript - main.js) i próby przesłania tego kodu do skryptu Google Apps (przy użyciu gapps upload
), nie powiedzie się z błędem Bad Request. Upload failed.
.
Po sprawdzeniu w Internecie dowiedziałem się, że ten błąd oznacza, że coś jest nie tak ze składnią, więc starałem się skopiować wkleić kod z main.js do Google Apps Script i pokazuje następujący błąd składni:
Invalid property ID. (Line 32, file "main")
Linia 32:
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
Ten błąd występuje, nawet jeśli tylko importować moduł i18next bez faktycznie robi nic z nim.
Oto mój 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']);
});
również próbował użyć modułu i18n, robi praca.
Chcę używać modułu tekstowego get dla moich tłumaczeń, nie potrzebuję dostosowań formatu waluty/daty. Po prostu pobieranie tekstu z plików tłumaczeń. Nie można używać PO json lub innego rozszerzenia (będę musiał przesłać wszystkim jako jeden plik na gaz, nie sądzę że pozwalają one inne niż js pliki)
moich plików szablonów są tacy en.js
:
const res = {
template: {
"signIn":"Hello, <@#1>! Signed you in (#2)",
...
},
command: {
"signIn": "hi",
...
}
};
export default res;
Naprawdę dziwne ... byłoby interesujące poznać przyczynę trasy tego problemu. – jamuhl
Tak! Stworzyłem problem na repozytorium i18next, ale powiedziano mi, że powinienem skontaktować się ze skryptem aplikacji Google, ponieważ problem prawdopodobnie ma coś wspólnego z ich stroną. Utworzono błąd na stronie wsparcia skryptów aplikacji, ale nie otrzymałem jeszcze odpowiedzi. – JapanGuy
@jamuhl Och, właśnie zdałem sobie sprawę, że to ty rozmawiałeś z Githubem. Dzięki za pomoc przy okazji! Mam i18następne prace nad moim innym projektem opartym na przeglądarce! Wspaniale! – JapanGuy