Skip to content

Commit

Permalink
Merge branch 'master' of github.com:fex-team/fis3-hook-amd
Browse files Browse the repository at this point in the history
  • Loading branch information
2betop committed Aug 17, 2015
2 parents e7fded1 + bc7f04c commit 00b1564
Showing 1 changed file with 33 additions and 14 deletions.
47 changes: 33 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,6 @@

fis3 已经默认不自带模块化开发支持,那么如果需要采用 amd 规范作为模块化开发,请使用此插件。

请配合 require.js 或者 esl.js 或者其他满足 amd 规范的前端加载器一起使用。

注意:需要对目标文件设置 `isMod` 属性,说明这些文件是模块化代码。


```js
fis.match('/modules/**.js', {
isMod: true
})
```

只有标记是模块化的 js 才会去解析。

## 安装

全局安装或者本地安装都可以。
Expand All @@ -40,6 +27,38 @@ fis.hook('amd', {
});
```

## 重要说明

请配合 require.js 或者 esl.js 或者其他满足 amd 规范的前端加载器一起使用。

注意:需要对目标文件设置 `isMod` 属性,说明这些文件是模块化代码。


```js
fis.match('/modules/**.js', {
isMod: true
})
```

只有标记是模块化的 js 才会去解析。

fis 的 amd 方案,是把对依赖的分析过程从运行期改成了编译期,所以请尽量不要设置 `require.config({options...})`, 因为一旦设置了 `baseUrl``paths` 或者 `packages` 什么的,会让 `fis` 静态编译时分析变得很困难,甚至分析不到。

但是,你可以在编译期做同样的配置。

// in fis-conf.js

```
fis.hook('amd'{
baseUrl: './modules',
paths: {
$: 'jquery/jquery-1.11.2.js'
}
})
```

具体请查看[配置项说明](#配置项)

## 配置项

* `globalAsyncAsSync` 是否将全局下面的异步用法,当同步处理。作用是,本来要运行时加载的,现在变成页面里面直接引用了。
Expand Down Expand Up @@ -69,7 +88,7 @@ fis.hook('amd', {

*`require('foo')` 的时候等价于 `require('/modules/foo/index.js')`.
*`require('foo/a.js')` 的时候,等价于 `require('/modules/foo/a.js')`.
* `shim` 可以达到不改目标文件,指定其依赖和暴露内容的效果。
* `shim` 可以达到不改目标文件,指定其依赖和暴露内容的效果。**注意只对不满足amd的js有效**

```js
fis.hook('amd', {
Expand Down

0 comments on commit 00b1564

Please sign in to comment.