НЕ ДУБЛИКАТ это , оно похоже на это , но ответ так и не был дан должным образом.
Попытка сломать три 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>