Почему я получаю ошибку при импорте модулей и как ее исправить?
Я хочу сделать сборку на es6 импортах, но застрял на самом первом этапе: самих импортах. Структура папок у меня такая:
> start_temlate_2022
> gulp
> config
- path.js
- ftp.js
- plugins.js
> tasks
- copy.js
> src
> files
path.js с путями:
import * as nodePath from "path";
const rootFolder = nodePath.basename(nodePath.resolve());
const buildFolder = rootFolder;
const srcFolder = "./src";
export const path = {
build: {
files: `${buildFolder}` + `/files/`,
},
src: {
files: `${srcFolder}` + `/files/**/*.*`,
},
watch: {},
clean: buildFolder,
buildFolder: buildFolder,
srcFolder: srcFolder,
rootFolder: rootFolder,
ftp: ``
}
Сам gulpfile:
import gulp from `gulp`;
import { path } from "./gulp/config/path";
global.app = {
path: path,
gulp: gulp
}
import { copy } from "./gulp/tasks/copy";
gulp.task(`default`, copy)
Ну и copy.js
export const copy = () => {
return app.gulp.src(app.path.src.files)
.pipe(app.gulp.dest(app.path.build.files))
}
При запуске gulp вылетает ошибка:
SyntaxError: Unexpected template string
at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)
at async link (internal/modules/esm/module_job.js:64:21)
Почему возникает эта ошибка и как ее исправить?
Ответы (1 шт):
Автор решения: Simon
→ Ссылка
У Вас ругается на template string, то есть на строковый литерал. Замените
import gulp from `gulp`;
на
import gulp from "gulp";
проблема в том, что для оператора import, требуется обычная строка.