SyntaxError: Объявления импорта могут появляться только на верхнем уровне модуля с веб-страницей gulp - PullRequest
0 голосов
/ 11 марта 2020

НЕ ДУБЛИКАТ это , оно похоже на это , но ответ так и не был дан должным образом.

Попытка сломать три js веб-страницы, чтобы понять это. Но я получаю вышеуказанную ошибку. Я понял, что мне нужно связать свой JS, и я пытаюсь сделать то же самое.

gulp.task('compile', gulp.series('copy'), function() {
    var bsfy = watchify(browserify('./app/index.js', {
        debug: true,
        cache: {},
        packageCache: {}
    }));
    return bsfy.bundle()
    .on('error', notify.onError({
        'title': "Error when building Browserify",
        'subtitle': "<%= error.fileName %>",
        'message': "<%= error.message %>"
    }))
    .pipe(source('index.js'))
    .pipe(gulp.dest('./dist/'));
});

остальная часть моего gulpfile настроена как

gulp.task('copy', function(done){ 
    gulp.src('./app/**')
    .pipe(gulp.dest('./dist/'));
    done();
});
gulp.task('watch', function() {
    gulp.watch('./app/**', ['compile']);
    browserSync.watch([
        './dist/**',
    ], {
        ignored: '**/*.map'
    }).on('change', browserSync.reload);
})

gulp.task('browser', function() {
    browserSync.init({
        port: 1234,
        watch: true,
        watchOptions: {
            ignoreInitial: true,
            ignored: '**/*.map'
        },
        files: ['./dist/**'],
        ui: false,
        server: {
            baseDir: "./dist/"
        }
    });
    gulp.series('watch');
});

gulp.task('default', gulp.series('compile', 'browser'));

, но я все равно получите

SyntaxError: import declarations may only appear at top level of a module

Моя команда gulp правильно запускает локальный веб-сервер

[15:58:50] Using gulpfile ~\OneDrive\Desktop\Programs\enigma\gulpfile.js
[15:58:50] Starting 'default'...
[15:58:50] Starting 'compile'...
[15:58:50] Starting 'copy'...
[15:58:50] Finished 'copy' after 9.34 ms
[15:58:50] Finished 'compile' after 11 ms
[15:58:50] Starting 'browser'...
[Browsersync] Access URLs:
 -----------------------------------
    Local: http://localhost:1234
 External: http://172.17.59.161:1234
 -----------------------------------
[Browsersync] Serving files from: ./dist/
[Browsersync] Watching files...

мое приложение. js настроено на импорт gsap во второй строке

'use strict';
import 'gsap';
import app from './app';
...

и я импортирую индекс. js в мой индекс. html как

<script src="./index.js" type="text/javascript"></script>
...