質問編集履歴

1

gulpfile.jsの中身をすべて追記しました

2019/08/21 08:42

投稿

makaruon22
makaruon22

スコア2

test CHANGED
File without changes
test CHANGED
@@ -52,21 +52,231 @@
52
52
 
53
53
  ▼gulpfile.js
54
54
 
55
- //ejs
56
-
57
- task('ejs', function() {
58
-
59
- return(
60
-
61
- src(paths.ejs + '**/*.ejs','!' + paths.ejs + '**/_*.ejs')
62
-
63
- .pipe(rename({ extname: '.html' }))
64
-
65
- .pipe(dest(paths.html))
66
-
67
- );
68
-
69
- });
55
+ const gulp = require('gulp');
56
+
57
+ const sass = require('gulp-sass');
58
+
59
+ const sassGlob = require("gulp-sass-glob");
60
+
61
+ const notify = require("gulp-notify");
62
+
63
+ const plumber = require("gulp-plumber");
64
+
65
+ const autoprefixer = require('gulp-autoprefixer');
66
+
67
+ const uglify = require('gulp-uglify');
68
+
69
+ const changed = require('gulp-changed');
70
+
71
+ const browserSync = require('browser-sync').create();
72
+
73
+ const sourcemaps = require('gulp-sourcemaps');
74
+
75
+ const queries = require('gulp-group-css-media-queries');
76
+
77
+ const imagemin = require('gulp-imagemin');
78
+
79
+ const pngquant = require('imagemin-pngquant');
80
+
81
+ const jpegtran = require('imagemin-jpegtran');
82
+
83
+
84
+
85
+ //setting : paths
86
+
87
+ const paths = {
88
+
89
+ 'allDist': './oscf/dist/*',
90
+
91
+ 'scss' : './src/scss/',
92
+
93
+ 'css' : './oscf/dist/css/',
94
+
95
+ 'jsSrc' : './src/js/',
96
+
97
+ 'jsDist' : './oscf/dist/js/',
98
+
99
+ 'imgSrc' : './src/img/',
100
+
101
+ 'imgDist': './oscf/dist/img/'
102
+
103
+ }
104
+
105
+
106
+
107
+ //setting : Sass Options
108
+
109
+ const sassOptions = {
110
+
111
+ outputStyle: 'compressed',
112
+
113
+ }
114
+
115
+
116
+
117
+ //gulpコマンドの省略
118
+
119
+ const { watch, series, task, src, dest } = require('gulp');
120
+
121
+
122
+
123
+ //Sass
124
+
125
+ task('sass', function () {
126
+
127
+ return (
128
+
129
+ src(paths.scss + '**/*.scss')
130
+
131
+ .pipe(plumber({ errorHandler: notify.onError({
132
+
133
+ title: "Sassエラー発見!",
134
+
135
+ message: "<%= error.message %>"
136
+
137
+ })
138
+
139
+ }))
140
+
141
+ .pipe(sourcemaps.init())
142
+
143
+ .pipe(sass(sassOptions))
144
+
145
+ .pipe(sassGlob())
146
+
147
+ .pipe(queries())
148
+
149
+ .pipe(autoprefixer())
150
+
151
+ .pipe(sourcemaps.write())
152
+
153
+ .pipe(changed(paths.allDist))
154
+
155
+ .pipe(dest(paths.css))
156
+
157
+ .pipe(browserSync.stream())
158
+
159
+ );
160
+
161
+ });
162
+
163
+
164
+
165
+
166
+
167
+ //JS Compress
168
+
169
+ task('js', function () {
170
+
171
+ return (
172
+
173
+ src(paths.jsSrc + '**/*.js')
174
+
175
+ .pipe(plumber({
176
+
177
+ errorHandler: notify.onError({
178
+
179
+ title: "JavaScriptエラー発見!",
180
+
181
+ message: "<%= error.message %>"
182
+
183
+ })
184
+
185
+ }))
186
+
187
+ .pipe(uglify())
188
+
189
+ .pipe(dest(paths.jsDist))
190
+
191
+ );
192
+
193
+ });
194
+
195
+
196
+
197
+
198
+
199
+ //jpg,png,svg,gif Compress
200
+
201
+ task('imagemin', function () {
202
+
203
+ return (
204
+
205
+ src(paths.imgSrc + '**/*.{jpg,jpeg,png,gif,svg}')
206
+
207
+ .pipe(imagemin(
208
+
209
+ [
210
+
211
+ pngquant({ quality: [.7, .85], speed: 1 }),
212
+
213
+ jpegtran({ quality: 80 }),
214
+
215
+ imagemin.svgo(),
216
+
217
+ imagemin.gifsicle()
218
+
219
+ ]
220
+
221
+ ))
222
+
223
+ .pipe(gulp.dest(paths.imgDist))
224
+
225
+ );
226
+
227
+ });
228
+
229
+
230
+
231
+
232
+
233
+ //browser auto reload
234
+
235
+ task('server', function() {
236
+
237
+ return (
238
+
239
+ browserSync.init({
240
+
241
+ server: {
242
+
243
+ baseDir: './oscf/',
244
+
245
+ }
246
+
247
+ })
248
+
249
+ );
250
+
251
+ });
252
+
253
+
254
+
255
+ task('browser-reload', function () {
256
+
257
+ return (
258
+
259
+ browserSync.reload()
260
+
261
+ );
262
+
263
+ });
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ //watch
272
+
273
+ watch([paths.scss + '**/*.scss'], task('sass'));
274
+
275
+ watch([paths.jsSrc + '**/*.js'], task('js'));
276
+
277
+ watch(['./oscf/**/*'], task('browser-reload'));
278
+
279
+ task('default', series('sass', 'js', 'server', 'browser-reload'));
70
280
 
71
281
 
72
282