小程序打包以及格式化配置

小程序引入 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 文件css

如下爲 eslitnt 配置node

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 插件es6

相關文章
相關標籤/搜索