Skip to content

Commit 47ffaf5

Browse files
committed
update README.md
1 parent 24f7914 commit 47ffaf5

File tree

1 file changed

+54
-52
lines changed

1 file changed

+54
-52
lines changed

README.md

Lines changed: 54 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -92,62 +92,64 @@ package.json 各项含义参考 [这里](http://docs.spmjs.org/en/package), 一
9292

9393
```js
9494
module.exports = function(grunt) {
95-
var pkg = grunt.file.readJSON('package.json');
96-
97-
grunt.initConfig({
98-
pkg: pkg,
99-
100-
download: {
101-
options: {
102-
dest: 'src'
103-
},
104-
highcharts: {
105-
options: {
106-
transform: function(code) {
107-
// 根据需要对下载下来的 js 代码进行修改, 大致有以下几点
108-
// - 模块已有依赖的库, 如 jquery, 需要统一 require('$')
109-
// - 如果模块有返回的话, 需要在末尾通过 module.exports 方式返回
110-
// - 有些模块内部有判断 amd / cmd 的逻辑的话, 则无须包裹 define, 直接采用它的即可, 例如 jquery/jquery
111-
return [
112-
'define(function(require, exports, module) {',
113-
'var previousJQuery = this.jQuery;',
114-
"this.jQuery = require('$');",
115-
code,
116-
"module.exports = window.Highcharts;",
117-
"this.jQuery = previousJQuery;",
118-
"});"
119-
].join('\n');
120-
}
121-
},
122-
// 设置文件所在地址, 版本号替换成变量, 这样之后只需修改 package.json 的版本信息
123-
url: 'https://raw.github.com/highslide-software/highcharts.com/v<%= pkg.version%>/js/highcharts.src.js',
124-
// 设置文件名字, 可参考原来源仓库中的名字来
125-
name: 'highcharts.js'
126-
},
127-
// ....
128-
exporting: {
129-
options: {
130-
transform: function(code) {
131-
return [
132-
'define(function(require, exports, module) {',
133-
code,
134-
"});"
135-
].join('\n');
136-
}
137-
},
138-
url: 'https://raw.github.com/highslide-software/highcharts.com/v<%= pkg.version%>/js/modules/exporting.src.js',
139-
name: 'exporting.js'
140-
}
141-
}
142-
});
95+
var pkg = grunt.file.readJSON('package.json');
96+
97+
grunt.initConfig({
98+
pkg: pkg,
99+
100+
download: {
101+
options: {
102+
dest: 'src'
103+
},
104+
highcharts: {
105+
options: {
106+
transform: function(code) {
107+
// 根据需要对下载下来的 js 代码进行修改, 大致有以下几点
108+
// - 模块已有依赖的库, 如 jquery, 需要统一 require('$')
109+
// - 如果模块有返回的话, 需要在末尾通过 module.exports 方式返回
110+
// - 有些模块内部有判断 amd / cmd 的逻辑的话, 则无须包裹 define, 直接采用它的即可, 例如 jquery/jquery
111+
return [
112+
'define(function(require, exports, module) {',
113+
'var previousJQuery = this.jQuery;',
114+
"this.jQuery = require('$');",
115+
code,
116+
"module.exports = window.Highcharts;",
117+
"this.jQuery = previousJQuery;",
118+
"});"
119+
].join('\n');
120+
}
121+
},
122+
// 设置文件所在地址, 版本号替换成变量, 这样之后只需修改 package.json 的版本信息
123+
url: 'https://raw.github.com/highslide-software/highcharts.com/v<%= pkg.version%>/js/highcharts.src.js',
124+
// 设置文件名字, 可参考原来源仓库中的名字来
125+
name: 'highcharts.js'
126+
},
127+
// ....
128+
exporting: {
129+
options: {
130+
transform: function(code) {
131+
return [
132+
'define(function(require, exports, module) {',
133+
code,
134+
"});"
135+
].join('\n');
136+
}
137+
},
138+
url: 'https://raw.github.com/highslide-software/highcharts.com/v<%= pkg.version%>/js/modules/exporting.src.js',
139+
name: 'exporting.js'
140+
}
141+
}
142+
});
143143

144-
grunt.loadTasks('../_tasks/download/tasks');
145-
grunt.registerTask('default', ['download']);
146-
};
144+
grunt.loadGlobalTasks('spm-build');
145+
grunt.util._.merge(grunt.config.data, require('spm-build').config);
147146

147+
grunt.loadTasks('../_tasks/download/tasks');
148+
grunt.registerTask('build', ['download', 'spm-build']);
149+
};
148150
```
149151

150-
写完之后, 就可以执行 grunt, 下载对应文件并按照需要修改代码.
152+
写完之后, 就可以执行 `spm build`, 下载对应文件并按照需要修改代码.
151153
下载的文件保存在 src/ 下, 可打开看下各个文件是否正确.
152154

153155
这个过程, 主要是做了从源仓库中下载 js/css 文件, 并对下载下来的代码进行处理, 比如 js 文件, 可以设置 transform 封装成 ``define(factory)`` 的形式.

0 commit comments

Comments
 (0)