语法错误:不能在模块NextJs和Gulp外部使用import语句

f4t66c6m  于 2022-12-31  发布在  Gulp
关注(0)|答案(1)|浏览(308)

我尝试用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文件。

waxmsbnn

waxmsbnn1#

可能您的项目默认设置为使用CommonJS模块系统。
在这种情况下,您可以将gulpfile.js重命名为gulpfile.mjs,以继续使用import语法。

相关问题