node.js - SyntaxError: Ovårdat tecken import - import * as gulp från 'gulp'
Om du kör gulp kommer du att få följande felmeddelande.
Är modulen som krävs för gulpfile inte installerad? ..
gulp
[22:17:15] Failed to load external module ts-node/register
[22:17:15] Failed to load external module typescript-node/register
[22:17:15] Failed to load external module typescript-register
[22:17:15] Failed to load external module typescript-require
C:\project\interview\gulpfile.ts:1
(function (exports, require, module, __filename, __dirname) { import * as gulp f rom 'gulp';
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Liftoff.handleArguments (C:\Users\admin\AppData\Roaming\npm\node_modules\gu lp\bin\gulp.js:116:3)
Svar #1
Det finns 3 saker du behöver göra för att få gulp att fungera med ES6-importer:
Byt namn på
gulpfile.jstillgulpfile.babel.jsKör detta kommando:
npm i @babel/preset-env @babel/register -D
- Lägg till en
.babelrc-fil i roten av ditt projekt med följande kod i den:
{
"presets": [
"@babel/preset-env"
]
}
Du borde nu kunna använda ES6-importer i dina Gulp-filer.
Observera: om du istället vill använda TypeScript i dina Gulp-filer bör du följa de steg som beskrivs här:
https://stackoverflow.com/a/49849088/1611058
Svar #2
1) Skapa en ".babelrc"-fil i din projektmapp (där även alla dina andra konfigurationsfiler finns)
Kod (.babelrc)
{ "presets": ["es2015"] }
2) Installera/Setup Babel i ditt NPM (se https://babeljs.io/setup). T.ex. med Node:
npm install babel-preset-env --save-dev