Как заставить gulp-babel разрешать импорт js-файла. Потому что сейчас он работает без ошибок в Visual Studio, но импорт не разрешен. Нужно ли указывать исходный каталог импортируемых модулей - как это сделать в gulpfile.js?
gulpfile.js
"use strict";
var gulp = require("gulp");
var babel = require("gulp-babel");
gulp.task("js", function () {
return gulp.src('./wwwroot/js/app.js')
.pipe(babel())
. pipe(gulp.dest('./wwwroot/js/babel'));
});
app.js:
import { MDCRipple } from '@material/ripple';
import { MDCTextField } from '@material/textfield';
const username = new MDCTextField(document.querySelector('.username'));
const password = new MDCTextField(document.querySelector('.password'));
new MDCRipple(document.querySelector('.cancel'));
new MDCRipple(document.querySelector('.next'));



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это решило проблему:
https://github.com/babel/babelify/issues/247
В моем текущем понимании проблема заключалась в том, что зависимости не переносятся в версию javascript, понятную для просмотра.
[Что сработало]
gulpfile.js:
"use strict";
var gulp = require("gulp");
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var babelify = require('babelify');
gulp.task("js", function () {
browserify('./wwwroot/js/app.js')
.transform("babelify", {
global: true,
presets: ["es2015", "es2016", "stage-0"],
ignore: //node_modules/underscore/
})
.bundle()
.pipe(source('babel.js'))
.pipe(gulp.dest('./wwwroot/js'));
});
package.json:
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"babel-core": "6.26.3",
"gulp": "3.9.1",
"browserify": "15.0.0",
"babelify": "8.0.0",
"babel-preset-es2015": "6.24.1",
"babel-preset-es2016": "6.24.1",
"babel-preset-stage-0": "6.24.1",
"vinyl-source-stream": "2.0.0",
"material-components-web": "0.28.0"
}
}
Браузеры не могут обрабатывать операторы импорта, это исправляет объединение браузеров. Однако browserify не может читать es6, так что вы правы. Сначала транспилируйте с помощью babelify, затем свяжите с помощью browserify, и вы получите очень красивый импорт!