Aktywne Wpisy
Malenaa +107
Rzuciła mnie przez SMS xD szybko poszło
#zwiazki #p0lka #logikarozowychpaskow #logikaniebieskichpaskow
#zwiazki #p0lka #logikarozowychpaskow #logikaniebieskichpaskow
Megasuper +53
Zasnąłem na paczce merci i gdy otworzyłem oczy zastałem ten widok. Jak przywrócić touchpad do „kliku" sprzed czekoladowej katastrofy? Jeździłem szpilką wokół i wydłubywałem ale problem pozostał
Problem:
index.html nie aktualizuje się o moje pliki JS dla Angulara (bower + scss/css idą bez problemu)
Środowisko:
Używam generator-webapp z Yeomana, który ma już gotowy gulpfile. Mam strukturę swoich skryptów:
app/scripts/main.js
app/scripts/app.js
app/scripts/components/pages/strona1/strona1.component.js
app/scripts/components/pages/strona1/strona1.controller.js
app/scripts/components/pages/strona1/strona1.html
app/scripts/routes/strona1.page.js
app/scripts/routes/strona2.page.js
wydaję polecenie
gulp serve
, cokolwiek w międzyczasie zainstaluję z bowera, to automatycznie ląduje w index.html, ale powyższe pliki z app/scripts/** już niefragment gulpfile z taskiem serve
gulp.task('serve', () => {
runSequence(['clean', 'wiredep'], ['styles', 'scripts', 'fonts'], () => {
browserSync.init({
notify: false,
port: 9000,
server: {
baseDir: ['.tmp', 'app'],
routes: {
'/bower_components': 'bower_components'
}
}
});
gulp.watch([
'app/*.html',
'app/images/**/*',
'.tmp/fonts/**/*'
]).on('change', reload);
gulp.watch('app/styles/**/*.scss', ['styles']);
gulp.watch('app/scripts/**/*.js', ['scripts']);
gulp.watch('app/fonts/**/*', ['fonts']);
gulp.watch('bower.json', ['wiredep', 'fonts']);
});
});
(Problem 2)
również sam build wygląda tak, że pliki są kopiowane do .tmp, ale stamtąd nie są łączone w jeden vendor/custom/app/main czy inne .js. Fragment gulpfile dot. skryptów i dołączania do htmla
gulp.task('scripts', () => {
return gulp.src('app/scripts/**/*.js')
.pipe($.plumber())
.pipe($.if(dev, $.sourcemaps.init()))
.pipe($.babel())
.pipe($.if(dev, $.sourcemaps.write('.')))
.pipe(gulp.dest('.tmp/scripts'))
.pipe(reload({stream: true}));
});
gulp.task('html', ['styles', 'scripts'], () => {
return gulp.src('app/*.html')
.pipe($.useref({searchPath: ['.tmp', 'app', '.']}))
.pipe($.if(/\.js$/, $.uglify({compress: {drop_console: true}})))
.pipe($.if(/\.css$/, $.cssnano({safe: true, autoprefixer: false})))
.pipe($.if(/\.html$/, $.htmlmin({
collapseWhitespace: true,
minifyCSS: true,
minifyJS: {compress: {drop_console: true}},
processConditionalComments: true,
removeComments: true,
removeEmptyAttributes: true,
removeScriptTypeAttributes: true,
removeStyleLinkTypeAttributes: true
})))
.pipe(gulp.dest('dist'));
});
O mnie:
Czytałem trochę o Gulpie, raz nawet napisałem własny plik do składania rzeczy z różnych folderów i umieszczania z pomocą gulp-inject do htmla. Problem w tym, że jestem za cienki jeśli chodzi o ten plik z webapp i zwyczajnie nie wiem co tam się dzieje. Nie wiem skąd gulp wie, że ma dorzucić bowera między (nigdzie nie ma podanego startaga), skąd wie że ma rozdzielić bower_components po buildzie pomiędzy dwa różne pliki. Póki co załączyłem te pliki ręcznie, ale jak to z angularem bywa będzie ich więcej i więcej i nie wiem czy dopisać jakiś własny task z gulp-inject tylko i wyłącznie pod te pliki, czy dopisać się do któregoś z obecnych tasków. Tyle że w tym gulpfile nie ma ani grama gulp-inject a jakoś to działa...
EDIT: linki do kursów, podpowiedzi, cokolwiek co pozwoli mi zrozumieć gulpa (a konkretnie ten plik) mile widziane.