Options
All
  • Public
  • Public/Protected
  • All
Menu

gulp-amd-wrap

Language Build Status Coveralls npm package npm downloads

gulp-amd-wrap是一个分析amd模块,并进行预编译处理的的gulp插件,主要完成根据依赖分析及项目路径生成模块声明及引用的moduleID,并封装成amd规范的模块。

Install

npm i gulp-amd-wrap --save-dev

Example

import { amdWrap } from 'gulp-amd-wrap';

gulp.src(
  // 资源
  `${__dirname}\/assert/*.js`, {
      // 工程baseUrl
      base: __dirname,
    },
).pipe(amdWrap({
  baseUrl: '/assert/',
  prefix: 'wiseindex/',
  // 不参与amd-hook分析的文件
  exelude: ['/exclude-**.js', '/dist/**'],
  moduleID: {
    'moduleID': 'filepath'
  }
})).pipe(
  gulp.dest(`${__dirname}\/dist\/`),
);
// Before
define(function() {
  'use strict';

  var fishObj = {
    name: 'nimo'
  };
  var moduleA = require('@scope/moduleA');
  var moduleB = require('./moduleB');

  require(['A', './B', '/C', '@D/E'], function(a, b, c, d){
    console.log(a, b, c, d);
  });

  return fishObj;

});

// After
define('assert/minify-define', [
    'require',
    '@scope/moduleA',
    'assert/moduleB'
], function (require, moduleA, moduleB) {
    'use strict';
    var fishObj = { name: 'nimo' };
    require([
        'A',
        'assert/B',
        '/C',
        '@D/E'
    ], function (a, b, c, d) {
        console.log(a, b, c, d);
    });
    return fishObj;
});

API

API DOC

Index

Type aliases

analysisCallback

analysisCallback: function

Type declaration

    • Parameters

      Returns any

Variables

Const Transform

Transform: any = stream.Transform

Functions

absolutize

amdWrap

  • Parameters

    Returns any

getDependencyFromNode

  • 从 require VariableDeclarator 节点获取依赖信息

    Parameters

    • node: any

    Returns IDependency

hasRequireDeclarations

  • hasRequireDeclarations(node: any): false | any[]
  • 判断当前node节点是否包含require VariableDeclarator 返回去除后正常的declarations

    Parameters

    • node: any

    Returns false | any[]

include

  • include(filePath: string, patterns?: string[], baseUrl?: string): boolean
  • 判断文件filePath是否在规则覆盖范围内

    Parameters

    • filePath: string
    • Optional patterns: string[]
    • Optional baseUrl: string

    Returns boolean

matchAsyncRequireCallExpression

  • matchAsyncRequireCallExpression(node: any): boolean
  • 判断当前node节点为require VariableDeclarator

    Parameters

    • node: any

    Returns boolean

matchRequireVariableDeclarator

  • matchRequireVariableDeclarator(node: any): boolean
  • 判断当前node节点为require VariableDeclarator

    Parameters

    • node: any

    Returns boolean

parseAbsolute

  • parseAbsolute(cwd: string, moduleID: string): string
  • 将相对路径转化为绝对路径 ./A ../

    Parameters

    • cwd: string
    • moduleID: string

    Returns string

parseBase

  • parseBase(baseUrl: string, moduleID: string, prefix?: string): string
  • 将绝对路径转化为基于BaseURL的 ModuleId

    Parameters

    • baseUrl: string
    • moduleID: string
    • Optional prefix: string

    Returns string