Я новичок в разработке интерфейсов, являясь долговременным бэкэнд-C# и разработчиком Java, и я пытаюсь понять, как сделать build приложений для конечных пользователей. Я хотел бы создать приложение с использованием машинописного текста и использовать gulp для моего конвейера сборки, чтобы передать, объединить и превзойти мой код в один файл JavaScript.Как связать файлы машинописных файлов для браузера пользователя gulp и tsproject?
Для этой цели я смотрю на модуль узла tsproject, который, насколько я понимаю, должен делать именно то, что я хочу. Кроме этого, я не могу заставить его делать то, что я хочу :-(
Это соответствующие части моего gulpfile.js:.
var gulp = require('gulp');
var clean = require('gulp-clean');
var tsproject = require('tsproject');
gulp.task('default', [ 'min-js' ]);
gulp.task('clean', function() {
return gulp
.src('./dist/', { read: false })
.pipe(clean());
});
gulp.task('min-js', [ 'clean' ], function() {
return tsproject
.src('./tsconfig.json')
.pipe(gulp.dest('./dist/js'))
});
И мой tsconfig.json:
{
"compilerOptions": {
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"jsx": "react",
"outDir": "./"
},
"files": [
"./src/**/*.tsx",
"./src/**/*.ts"
],
"bundles": {
"myApp": {
"files": [
"./src/App.tsx"
],
"config": {
"minify": true,
"sourcemap": true
}
}
}
}
Я ожидал, что это приведет к выпуску одного js-файла, содержащего переполненный, связанный и минитипированный код JavaScript, но то, что я получаю, является связанным (не переполненным или мини-) файлом машинописного файла (./dist/js/myApp.min.ts).
Я занимаюсь что-то неправильно или я совершенно неправильно понял цель и намерение tsproject?
Если я могу предложить предложение, загляните в Угловой 2 CLI. Он использует Webpack, чтобы сделать все это с ОЧЕНЬ небольшими усилиями (например, наименьшее усилие, которое я когда-либо видел). Используя четыре команды, вы можете создавать, обслуживать, тестировать и создавать действительно надежный проект переднего плана с использованием TypeScript и Angular 2. В некотором смысле, я думаю, что CLI немного несправедлив, поскольку он упрощает создание и работу с проектом braindead. Если вы посмотрите на меня в Интернете, вы можете подумать, что у меня есть мотив, но я этого не делаю. Угловая 2 CLI - это лишь один из лучших пользовательских интерфейсов, которые я видел в своей четверти века в этой области. –
Спасибо за предложение Тима, хотя я не очень заинтересован в использовании Angular. В настоящее время я смотрю на использование React, с которым ИМХО выглядит легче работать. –
Я понимаю, что я предлагаю, так как в качестве учебного инструмента было бы полезно посмотреть, как он настраивается и тому подобное. Или, может быть, взгляните на простой старый веб-пакет. Вот статья, относящаяся к реакциям: https://www.typescriptlang.org/docs/handbook/react-&-webpack.html –