firemail

标题: require [打印本页]

作者: hechengjin    时间: 2016-5-7 14:13
标题: require
本帖最后由 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')






欢迎光临 firemail (http://firemail.wang:8088/) Powered by Discuz! X3