我尝试用Next Js实现i18n-perser
。根据i18n-perser
文档,我需要在根目录上创建一个gulpfile.js
。我的gulpfile.js
类似于以下内容。
import gulp from 'gulp';
import { gulp as i18nextParser } from 'i18next-parser';
export async function i18next() {
return gulp
.src('./**')
.pipe(
new i18nextParser({
locales: ['en', 'nl'],
output: './i18n/locales/$LOCALE/$NAMESPACE.json',
})
)
.pipe(gulp.dest('./'));
}
它给我SyntaxError: Cannot use import statement outside a module
。我尝试了一些解决方案,如动态导入。但它不适合我在这种情况下。它给我相同的SyntaxError
。
import dynamic from 'next/dynamic';
const gulp = dynamic(() => import('gulp'), { ssr: false });
const { gulp: i18nextParser } = dynamic(() => import('i18next-parser"'), { ssr: false });
我试过dynamic import
,但它在我的情况下也不工作。它在React
中工作得很好,但在NextJs
中不工作。基本上,如果我运行npm run gulp
,它会为我创建parer文件。
1条答案
按热度按时间waxmsbnn1#
可能您的项目默认设置为使用CommonJS模块系统。
在这种情况下,您可以将
gulpfile.js
重命名为gulpfile.mjs
,以继续使用import
语法。