我尝试自动化我的前端开发,所以我开始使用NPM来引入依赖关系。我的package.json
看起来像是:
"main": "main.js",
"dependencies": {
"jquery": "^2.1.4",
"vue": "^0.12.8"
},
"devDependencies": {
"gulp": "^3.9.0",
"gulp-autoprefixer": "^2.3.1",
"gulp-browserify": "^0.5.1",
"gulp-concat": "^2.6.0",
"gulp-minify-css": "^1.2.0",
"gulp-notify": "^2.2.0",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.0.4",
"gulp-uglify": "^1.2.0"
}
我的gulpfile.json
看起来像是:
var gulp = require('gulp'),
sass = require('gulp-sass'),
minify_css = require('gulp-minify-css'),
notify = require('gulp-notify'),
autoprefix = require('gulp-autoprefixer'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename');
var src = {
sass: 'assets/sass/',
js: 'assets/js/',
};
var output = {
css: 'public/css/',
js: 'public/js/',
};
gulp.task('css', function () {
return gulp.src(src.sass + 'main.scss')
.pipe(sass())
.pipe(autoprefix('last 10 version'))
.pipe(minify_css())
.pipe(rename({basename: 'styles'}))
.pipe(gulp.dest(output.css))
.pipe(notify('CSS processed.'))
.pipe(browserSync.reload({stream: true}));
});
gulp.task('js', function () {
return gulp.src([
src.js + 'main.js',
])
.pipe(concat('app.js'))
.pipe(uglify())
.pipe(gulp.dest(output.js))
.pipe(notify('JS processed.'));
});
gulp.task('watch', function () {
browserSync.init({server: './output'});
gulp.watch(src.sass + '**/*.scss', ['css']);
gulp.watch(src.js + '**/*.js', ['js']);
gulp.watch(src.js + '**/*.js', ['js']);
});
gulp.task('default', ['css', 'js', 'watch']);
有效!太好了!
我想开始在main.js
中编写代码,但是我遇到的问题是如何将require
jQuery和Vue(以及其他任何内容)写入{{1}文件。
(编辑:它不一定要在main.js
文件中完成,我只希望最终结果是我可以按预期编写代码并缩小它。看来我可以& #39; t main.js
在gulp js任务中,但也许我错误地解决了这个问题。)
答案 0 :(得分:0)
由于您只为构建/工作流程使用节点,因此您不会在应用程序代码中调用Node的导出(希望如此)。所以简短的回答是,不过你以前就是这么做的。
编辑:我看到您已使用browserify标记了该问题。如果你正在尝试使用browserify,那么你需要做的就是运行一个gulp任务运行browserify命令,然后它会处理你的依赖关系。节点的要求,就是你当前在你的gulpfile中调用的,是一种不同的动物。它用于确保您拥有所需的所有软件包,但您需要运行browserify,以便您的应用代码中的需求能够正常运行。