代码拉取完成,页面将自动刷新
require('babel-register')
const gulp = require('gulp')
const eslint = require('gulp-eslint')
const nodemon = require('gulp-nodemon')
const rename = require('gulp-rename')
const friendlyFormatter = require('eslint-friendly-formatter')
const nunjucksRender = require('gulp-nunjucks-render');
var jsScript = 'node'
if (process.env.npm_config_argv !== undefined && process.env.npm_config_argv.indexOf('debug') > 0) {
jsScript = 'node debug'
}
const CodeGenerateConfig = require('./codeGenerate/config').default;
function lintOne(aims) {
console.log('ESlint:' + aims)
console.time('Finished eslint')
return gulp.src(aims)
.pipe(eslint({ configFile: './.eslintrc.js' }))
.pipe(eslint.format(friendlyFormatter))
.pipe(eslint.results(results => {
// Called once for all ESLint results.
console.log(`- Total Results: ${results.length}`)
console.log(`- Total Warnings: ${results.warningCount}`)
console.log(`- Total Errors: ${results.errorCount}`)
console.timeEnd('Finished eslint')
}))
}
gulp.task('ESlint', () => {
return gulp.src(['src/**/*.js', '!node_modules/**'])
.pipe(eslint({ configFile: './.eslintrc.js' }))
.pipe(eslint.format(friendlyFormatter))
// .pipe(eslint.failAfterError())
.pipe(eslint.results(results => {
// Called once for all ESLint results.
console.log(`- Total Results: ${results.length}`)
console.log(`- Total Warnings: ${results.warningCount}`)
console.log(`- Total Errors: ${results.errorCount}`)
}))
})
gulp.task('ESlint_nodemon', ['ESlint'], function () {
var stream = nodemon({
script: 'build/dev-server.js',
execMap: {
js: jsScript
},
tasks: function (changedFiles) {
lintOne(changedFiles)
return []
},
verbose: true,
ignore: ['build/*.js', 'dist/*.js', 'nodemon.json', '.git', 'node_modules/**/node_modules', 'gulpfile.js'],
env: {
NODE_ENV: 'development'
},
ext: 'js json'
})
return stream
.on('restart', function () {
// console.log('Application has restarted!')
})
.on('crash', function () {
console.error('Application has crashed!\n')
// stream.emit('restart', 20) // restart the server in 20 seconds
})
})
gulp.task('nodemon', function () {
return nodemon({
script: 'build/dev-server.js',
execMap: {
js: jsScript
},
verbose: true,
ignore: ['build/*.js', 'dist/*.js', 'nodemon.json', '.git', 'node_modules/**/node_modules', 'gulpfile.js', 'src/db', 'codeGenerate'],
env: {
NODE_ENV: 'development'
},
ext: 'js json'
})
})
gulp.task('default', ['ESlint', 'ESlint_nodemon'], function () {
// console.log('ESlin检查完成')
})
const nunjucksRenderConfig = {
path: 'codeGenerate/serverTemplates',
data: {
model: CodeGenerateConfig.model,
config: CodeGenerateConfig.config
},
envOptions: {
tags: {
blockStart: '<%',
blockEnd: '%>',
variableStart: '<$',
variableEnd: '$>',
commentStart: '<#',
commentEnd: '#>'
},
},
ext: '.js'
}
const BuildWeb = () => {
gulp.src('codeGenerate/templates/schema/*.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(gulp.dest(ProjectRootPath + CodeGenerateConfig.config.SchemaRelativePath + CodeGenerateConfig.model.name));
gulp.src('codeGenerate/templates/page.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(rename('index.jsx'))
.pipe(gulp.dest(ProjectRootPath + CodeGenerateConfig.config.PageRelativePath));
gulp.src('codeGenerate/templates/api.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(gulp.dest(ProjectRootPath + CodeGenerateConfig.config.ApiRelativePath));
gulp.src('codeGenerate/templates/editModal.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(rename('edit' + CodeGenerateConfig.model.Name + 'ModalContent.jsx'))
.pipe(gulp.dest(ProjectRootPath + CodeGenerateConfig.config.PageRelativePath));
}
const BuildServer = () => {
gulp.src('codeGenerate/serverTemplates/route.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(rename('main-routes.js'))
.pipe(gulp.dest(ServerProjectRootPath + CodeGenerateConfig.config.RouteRelativePath));
gulp.src('codeGenerate/serverTemplates/controller.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(rename(Model.name + '.js'))
.pipe(gulp.dest(ServerProjectRootPath + CodeGenerateConfig.config.ControllerRelativePath));
gulp.src('codeGenerate/serverTemplates/service.njk')
.pipe(nunjucksRender(nunjucksRenderConfig))
.pipe(rename(Model.name + 'Service.js'))
.pipe(gulp.dest(ServerProjectRootPath + CodeGenerateConfig.config.ServiceRelativePath));
}
const ProjectRootPath = CodeGenerateConfig.config.ProjectRootPath;
const ServerProjectRootPath = CodeGenerateConfig.config.ServerRootPath;
const Model = CodeGenerateConfig.model;
gulp.task('code', function () {
if (CodeGenerateConfig.config.Web) {
BuildWeb();
}
//server
if (CodeGenerateConfig.config.Server) {
BuildServer();
}
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。