在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):mdsb100/gulp-wxa-copy-npm开源软件地址(OpenSource Url):https://github.com/mdsb100/gulp-wxa-copy-npm开源编程语言(OpenSource Language):JavaScript 100.0%开源软件介绍(OpenSource Introduction):gulp-wxa-copy-npm微信小程序gulp插件,解决npm包管理和babel-runtime。可以使用诸如ES7,moment等。 在package.json加入"babel-plugin-transform-runtime",在babel配置的plugins加入"transform-runtime"。这样就可以直接使用Promise,Map,Symbol等。 如果想要使用async await,甚至是Decorator,具体只要参考babel配置就可以了。 UsageIn gulpfile.js const gulp = require("gulp");
const babel = require("gulp-babel");
const gwcn = require('gulp-wxa-copy-npm');
const sourcemaps = require('gulp-sourcemaps');
gulp.task('babel', () =>
let knownOptions = {};
let options = minimist(process.argv.slice(2), knownOptions);
//config.babel
gulp.src('src/**/*.js')
.pipe(sourcemaps.init())
.pipe(log('Babeling'))
.pipe(babel({
"presets": [
"es2015",
"stage-0"
],
"plugins": [
"transform-export-extensions",
"syntax-export-extensions",
"transform-runtime"
]
}))
.pipe(gwcn(options))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(config.dest));
); 在代码中: const moment = require('moment'); //NPM
const util = require('./util'); import moment from 'moment' //NPM
import config from './config'
import {fetch} from '../common' 注意项目中的代码一定要使用 Installation$ npm install gulp-wxa-copy-npm --save-dev Why首先感谢labrador和wepy参考了其中一些代码。这2个库很优秀!但是限制了我们。我们可以自己建gulpfile来使用stylus,imagemin等。可是最大的诉求是想用NPM包管理和ES7,没有这样的一个gulp插件。所以我就做了一个。 但是自由是有代价的,很多东西你需要自己写。 Directory
Options
Plugin Exampleconst guglify = through.obj(function(file, enc, callback) {
let code = file._contents.toString(enc);
let result = uglify.minify(code, {
fromString: true
});
file._contents = new Buffer(result.code);
callback(null, file);
});
const task_babel_release = function() {
let knownOptions = {};
let options = minimist(process.argv.slice(2), knownOptions);
options.plugins = [(code, destPath, {file, enc, callback}) => uglify.minify(code, {
fromString: true
}).code];
//{file, enc, callback} 和through的保持一致
return gulp.src(config.js)
.pipe(log('Babeling'))
.pipe(babel(config.babel))
.pipe(guglify)
.pipe(gwcn(options))
.pipe(gulp.dest(config.dest));
}; Issues目前版本还是0.1.3,没有经过充分测试。欢迎大家提bug和pull request! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论