javascriptmvc-steal

steal-config

steal是一个依赖管理库,用于加载moduleId,这里讲一下steal.config配置

当加载steal.js后会自动加载stealconfig.js文件.


使用steal

http://javascriptmvc.com/docs/steal.use.html#section_Addsteal_jstoyourpage

  • 加载steal.js到page中
  • 配置steal的行为
  • 加载modules
  • 返回module值

示例目录

ROOT/
  steal/
    steal.js
    ...
  myapp/
    myapp.js
    myapp.less
    mymodule.js
    index.html
  stealconfig.js
steal目录, myapp目录, stealconfig.js

1)加载steal.js到page中

<script src='../steal/steal.js?myapp/myapp.js'>
</script>

或者:

<script src='../steal/steal.js?STARTFILE,ENV'>
</script>

包含steal目录的目录是root目录,默认,所有的module都从root目录加载,以下情况除外:

  • "http://" or "https://" like "http://foo.com/bar.js"
  • "/" like "/bar.js"
  • 或者通过steal.config修改了root目录路径
2) 配置steal的行为
steal.config(configOptions)允许配置steal加载module的行为:

作用于所有module(ex: changing the location of the root folder)

作用于单个module(ex:通过设置shim: 可以让 'steal/dev/dev.js' should not be added to production)
作用于startup module(ex:可以指定steal首次加载的module)


调用steal.config(configOptions)

当steal.js加载并运行后,你可以在application任何地方调用steal.confg,然而, 当steal.js加载后,它将自动加载stealconfig.js。

3)加载modules

使用steal(ids...)加载依赖的modules, ids像如下:

// in myapp/myapp.js
steal('components/item',
      'person.js',
      './view.ejs')

steal先使用steal.id函数将传递给steal的id转化为moduleId, 然后通过steal.idToUri将moduleId转化为资源的uri路径.

steal.id和steal.idToUri行为可以通过steal.config的map和paths项进行配置,默认行为如下:

  • "components/item" is found in ROOT/components/item/item.js
  • "person.js" is found in ROOT/person.js
  • "./view.ejs" is found in ROOT/currentWorkId/view.ejs
4) 返回module值

在moduleIds项后,可以传一个definition函数,如:

// in myapp/myapp.js
steal('components/item',
      'person.js',
      './view.ejs', 

      function(item, Person, viewEJS){

          return MODULEVALUE;

      })

definition函数的参数是配置的每个module的值,如下无返回值,则该参数为undefined




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值