AMD2CMD Webpack Plugin
此插件会把webpack打包的amd库输出为cmd库。
Installation
Install the plugin with npm:
$ npm install amd2cmd-webpack-plugin --save-dev
Usage
var Amd2CmdWebpackPlugin = require('amd2cmd-webpack-plugin')
var webpackConfig = {
entry: {
// ...
},
externals: {
jquery: '
编译结果如下:
define(function(require, cmdExports, cmdModule) {
var __WEBPACK_EXTERNAL_MODULE_70__ = require('
API
- id
{String}
插件会把传入的id值与模块名拼接成dependencies参数。
var webpackConfig = {
// ...
entry: {
webpack-plugin: ''
},
externals: {
jquery: '
编译结果如下:
define('../amd2cmd/webpack-plugin', ["$"], function(require, cmdExports, cmdModule) {
// ...
});
- globalExternals
{Object}
插件会把globalExternals中的依赖引入方式从require函数方式引入改为全局变量引入。
var webpackConfig = {
// ...
externals: {
jquery: '
编译结果如下:
define(function(require, cmdExports, cmdModule) {
var __WEBPACK_EXTERNAL_MODULE_70__ = window.$;
// ...
});
Configuration
为了支持js concat 和 ie (version 6-9),require标识符需要被保留,详见CMD官方说明.
你可以通过配置UglifyJsPlugin保留require标识符,然后使用CMD构建工具去生成id和dependencies。
var Amd2CmdWebpackPlugin = require('amd2cmd-webpack-plugin')
var UglifyJsPlugin = require('uglifyjs-webpack-plugin')
var webpackConfig = {
// ...
mode: 'production',
optimization: {
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
mangle: {
reserved: ['require'],
}
}
})
]
},
plugins: [
new Amd2CmdWebpackPlugin({
globalExternals: {
lodash: '_'
}
})
]
};
License
This project is licensed under MIT.
,
// ...
},
output: {
// ...
libraryTarget: 'amd'
},
plugins: [
new Amd2CmdWebpackPlugin(),
// ...
]
};
编译结果如下:
__CODE_BLOCK_2__
API
- id __INLINE_CODE_0__
插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
__CODE_BLOCK_3__
编译结果如下:
__CODE_BLOCK_4__
- globalExternals __INLINE_CODE_3__
插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
__CODE_BLOCK_5__
编译结果如下:
__CODE_BLOCK_6__
Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__
License
This project is licensed under MIT.
);
cmdModule.exports = /**** webpack source ****/;
});
API
- id __INLINE_CODE_0__
插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
__CODE_BLOCK_3__
编译结果如下:
__CODE_BLOCK_4__
- globalExternals __INLINE_CODE_3__
插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
__CODE_BLOCK_5__
编译结果如下:
__CODE_BLOCK_6__
Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__
License
This project is licensed under MIT.
,
// ...
},
output: {
// ...
libraryTarget: 'amd'
},
plugins: [
new Amd2CmdWebpackPlugin(),
// ...
]
};
编译结果如下:
__CODE_BLOCK_2__
API
- id __INLINE_CODE_0__
插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
__CODE_BLOCK_3__
编译结果如下:
__CODE_BLOCK_4__
- globalExternals __INLINE_CODE_3__
插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
__CODE_BLOCK_5__
编译结果如下:
__CODE_BLOCK_6__
Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__
License
This project is licensed under MIT.
,
// ...
},
plugins: [
new Amd2CmdWebpackPlugin({
id: '../amd2cmd/'
}),
// ...
]
};
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
); cmdModule.exports = /**** webpack source ****/; });API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, plugins: [ new Amd2CmdWebpackPlugin({ globalExternals: { jquery: '编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
); cmdModule.exports = /**** webpack source ****/; });API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, plugins: [ new Amd2CmdWebpackPlugin({ id: '../amd2cmd/' }), // ... ] };编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
); cmdModule.exports = /**** webpack source ****/; });API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
} }), // ... ] };编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
); cmdModule.exports = /**** webpack source ****/; });API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, plugins: [ new Amd2CmdWebpackPlugin({ id: '../amd2cmd/' }), // ... ] };编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
); cmdModule.exports = /**** webpack source ****/; });API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.
, // ... }, output: { // ... libraryTarget: 'amd' }, plugins: [ new Amd2CmdWebpackPlugin(), // ... ] };编译结果如下:
__CODE_BLOCK_2__API
- id __INLINE_CODE_0__ 插件会把传入的__INLINE_CODE_1__值与模块名拼接成__INLINE_CODE_2__参数。
编译结果如下:
__CODE_BLOCK_4__- globalExternals __INLINE_CODE_3__ 插件会把__INLINE_CODE_4__中的依赖引入方式从__INLINE_CODE_5__函数方式引入改为全局变量引入。
编译结果如下:
__CODE_BLOCK_6__Configuration
为了支持js concat 和 ie (version 6-9),__INLINE_CODE_6__标识符需要被保留,详见CMD官方说明.
你可以通过配置__INLINE_CODE_7__保留__INLINE_CODE_8__标识符,然后使用CMD构建工具去生成__INLINE_CODE_9__和__INLINE_CODE_10__。
__CODE_BLOCK_7__License
This project is licensed under MIT.