小程序引入 gulp 打包编译 less 文件 为 wxss 文件(还可以进行代码压缩哦,文中未写)。
const gulp = require('gulp')
const less = require('gulp-less')
const cssmin = require('gulp-clean-css')
const rename = require('gulp-rename')
const clean = require('gulp-clean')
const eslint = require('gulp-eslint')
gulp.task('compile-css', () => {
return gulp
.src(['../src/**/*.less', '!../src/**/_*.less'])
.pipe(less())
.pipe(cssmin())
.pipe(
rename((path) => {
path.extname = '.wxss'
})
)
.pipe(gulp.dest('../dist/'))
})
gulp.task('compile-js', () => {
return gulp.src(['../src/**/*.js']).pipe(gulp.dest('../dist/'))
})
gulp.task('compile-wxs', () => {
return gulp.src(['../src/**/*.wxs']).pipe(gulp.dest('../dist/'))
})
gulp.task('compile-json', () => {
return gulp.src(['../src/**/*.json']).pipe(gulp.dest('../dist/'))
})
gulp.task('compile-wxml', () => {
return gulp.src(['../src/**/*.wxml']).pipe(gulp.dest('../dist/'))
})
gulp.task('clean', () => {
return gulp.src('../dist/').pipe(clean({ force: true }))
})
gulp.task('compile-png', () => {
return gulp.src(['../src/**/*.png']).pipe(gulp.dest('../dist/'))
})
gulp.task('auto', () => {
gulp.watch('../src/**/*.less', ['compile-css'])
gulp.watch('../src/**/*.js', ['eslint', 'compile-js'])
gulp.watch('../src/**/*.json', ['compile-json'])
gulp.watch('../src/**/*.wxml', ['compile-wxml'])
gulp.watch('../src/**/*.wxs', ['compile-wxs'])
gulp.watch('../src/**/*.png', ['compile-png'])
})
gulp.task('eslint', () => {
return gulp
.src(['../src/**/*.js', '!../node_modules/**'])
.pipe(eslint({ configFile: '../.eslintrc.js' }))
.pipe(eslint.format())
})
gulp.task('default', ['clean'], function() {
gulp.start('compile-png', 'compile-css', 'compile-wxs', 'compile-js', 'compile-json', 'compile-wxml', 'auto')
})
以下为 package.json 文件

以下为 eslitnt 配置
module.exports = {
extends: ["prettier", "prettier/standard"],
//插件
plugins: ["prettier"],
//配置解析器
parser: "babel-eslint",
parserOptions: {
ecmaVersion: 6,
sourceType: "module",
},
env: {
//脚本目标的运行环境
browser: true,
node: true,
es6: true,
commonjs: true,
},
//全局变量
globals: {
__DEV__: true,
__WECHAT__: true,
__ALIPAY__: true,
App: true,
Page: true,
Component: true,
Behavior: true,
wx: true,
getApp: true,
},
//规则,只用插件:插件名/规则
rules: {
"prettier/prettier": [
"error",
{
singleQuote: true,
endOfLine: "crlf",
stylelintIntegration: true,
tabWidth: 4,
semi: false,
printWidth: 200,
// "trailingComma": "none"
bracketSpacing: true,
"comma-dangle": "object",
"prose wrap": "always",
arrowParens: "always",
eslintIntegration: true,
// "dot-location": ["error", "object"]
},
],
"no-console": 0,
// "dot-location": ["error", "object"]
},
};
记得装 eslint 插件
