Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2532|回复: 0
打印 上一主题 下一主题

require

[复制链接]

388

主题

602

帖子

2218

积分

金牌会员

Rank: 6Rank: 6

积分
2218
跳转到指定楼层
楼主
发表于 2016-5-7 14:13:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hechengjin 于 2016-5-7 14:21 编辑

const { require } = Components.utils.import('resource://gre/modules/commonjs/toolkit/require.js', {})
thunderbird\modules\commonjs\toolkit\require.js


const { Loader: { Loader, Require, Module, main } } =
        components.utils.import(rootURI + "toolkit/loader.js", {});

  const loader = Loader({
    id: "toolkit/require",
    rootURI: rootURI,
    isNative: true,
    paths: {
     "": rootURI,
     "devtools/": "resource://gre/modules/devtools/"
    }
  });



\shell\WindowUtils.js
Object.defineProperty(window, 'require', {
  get: function () {
    const id = components.stack.caller.filename.toString()
    if (!requires.has(id)) {
      let newRequire = createRequire({
        id: id,
        window: window
      })
      requires.set(id, newRequire)
    }
    // console.log(`id: ${id}`)
    return requires.get(id)
  }
})
const { createRequire } = require('./RequireUtils.js')
return Loader.Require(loader, { id: options.id })
const { Loader, resolveURI } = require('toolkit/loader')

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-26 16:59 , Processed in 0.059166 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表