• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jorrit/gulp-requirejs: A small, simple, very easy wrapper around the require.js ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

jorrit/gulp-requirejs

开源软件地址(OpenSource Url):

https://github.com/jorrit/gulp-requirejs

开源编程语言(OpenSource Language):

JavaScript 95.2%

开源软件介绍(OpenSource Introduction):

gulp-requirejs

gulp-requirejs on npm Dependency Status Development Dependency Status Build Status Coverage

Information

A small, simple, very easy wrapper around the require.js optimizer to work with gulp.js.

Packagegulp-requirejs
Description uses require.js's r.js optimizer to combine require.js AMD modules into one file
Node Version ≧ 4

Installation

Simply add gulp-requirejs as a dev-dependency in your package.json or run

$ npm install --save-dev gulp-requirejs

Usage

Because the require.js optimizer (r.js) is a kind of build system in itself we can't use the gulp.src([...]) syntax at the moment (I might add this in future), instead this wrapper itself emits a pipable stream, holding a 'virtual' file, in which the result of the r.js build process are saved.

The resulting stream can be treated like a regular gulp.src(...) stream.

NOTE: The built in minification/obfuscation is deactivated by default. It is recommended to use a gulp plugin like gulp-uglify for minification, but you can enable r.js minification by setting the optimize option to uglify to minify using r.js.

var gulp = require('gulp'),
    rjs = require('gulp-requirejs');

gulp.task('requirejsBuild', function() {
    return rjs({
        baseUrl: 'root/directory/of/js/files/',
        out: 'FILENAME_TO_BE_OUTPUTTED',
        name: 'mainfile', // no extension
        shim: {
            // standard require.js shim options
        },
        // ... more require.js options
    })
    .pipe(gulp.dest('./deploy/')); // pipe it to the output DIR
});

If you use instead of out the dir option, you do not need the pipe at all, see this example in Gulp 4 syntax and mocha test:

const rjs = require('gulp-requirejs');

async function requirejsBuild(cb) {
    return rjs({
        dir: 'deploy',
        mainConfigFile: 'config.js',
        path: {
          'config': '../config_init'
        },
        modules: [{
          name: 'FILENAME_TO_BE_OUTPUTTED', // no extension
          include  : [ .. ]
         ...
        }]
    }) ...
};
    
exports.requirejsBuild = requirejsBuild;

Note: In order to let gulp know that the optimization completes, return the rjs stream.

See requirejs.org for more information about the supported parameters.

Error handling

gulp-requirejs will emit errors when you don't pass an options object, if the baseUrl or out properties are undefined or when the requirejs optimizer detects an error.

Source maps

When source maps are enabled via the r.js generateSourceMaps option the file in the stream rjs() contains a sourceMap property with the sourcemap as an object.

Use gulp-sourcemaps to process this object in your gulp configuration.

var gulp = require('gulp'),
    rjs = require('gulp-requirejs')
    sourcemaps = require('gulp-sourcemaps');

gulp.task('requirejsBuild', function() {
    return rjs({
        baseUrl: 'root/directory/of/js/files/',
        out: 'FILENAME_TO_BE_OUTPUTTED',
        name: 'mainfile', // no extension
        generateSourceMaps: true,
        shim: {
            // standard require.js shim options
        },
        // ... more require.js options
    })
    .pipe(sourcemaps.init({loadMaps: true})) // initialize gulp-sourcemaps with the existing map
    .pipe(sourcemaps.write()) // write the source maps
    .pipe(gulp.dest('./deploy/')); // pipe it to the output DIR
});

Options

The options object supports the same parameters as the require.js optimizer.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap