freaktechnik

Untitled

Aug 7th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. 13:28:10 - forgetname: [13:04:39] i need to load js module
  2. 13:28:10 - zer0: [13:14:48] forgetname, not sure what is the question
  3. 13:28:10 - zer0: [13:15:00] do you need to import what from where?
  4. 13:28:10 - forgetname: [13:15:19] we have loader.js somewhere in sdk
  5. 13:28:10 - forgetname: [13:15:33] toolkit\loader.js
  6. 13:28:10 - zer0: [13:15:35] yes
  7. 13:28:10 - zer0: [13:15:39] do you need to require loader?
  8. 13:28:10 - forgetname: [13:15:43] no
  9. 13:28:10 - zer0: [13:15:52] so, what do you need to require / import?
  10. 13:28:10 - forgetname: [13:15:52] i need to load custom module into loader.js
  11. 13:28:10 - zer0: [13:16:08] ?
  12. 13:28:10 - zer0: [13:16:15] I don't understand the question sorry
  13. 13:28:10 - forgetname: [13:16:22] i want mymodule = require('../mymodule')
  14. 13:28:10 - zer0: [13:16:25] ok
  15. 13:28:10 - forgetname: [13:16:27] inside loader.js
  16. 13:28:10 - zer0: [13:16:29] why?
  17. 13:28:10 - forgetname: [13:16:33] i need it
  18. 13:28:10 - zer0: [13:16:36] loader.js shouldn't be modified
  19. 13:28:10 - zer0: [13:16:41] it's something we ship with firefox
  20. 13:28:10 - zer0: [13:16:45] not with the add-on
  21. 13:28:10 - forgetname: [13:16:54] i already modified it in many ways
  22. 13:28:10 - forgetname: [13:17:01] )i shipping build, not addon
  23. 13:28:10 - zer0: [13:17:02] well, you shouldn't :)
  24. 13:28:10 - zer0: [13:17:05] ah ok
  25. 13:28:10 - forgetname: [13:17:14] my question
  26. 13:28:10 - zer0: [13:17:14] consider that yo can create your own loader,
  27. 13:28:10 - zer0: [13:17:23] without modifying toolkit/loader
  28. 13:28:10 - forgetname: [13:17:24] it not have require, only import
  29. 13:28:10 - zer0: [13:17:39] yes, because loader is the one that create require.
  30. 13:28:10 - forgetname: [13:17:42] sorry i really just need to modify it, everytime people not understand what i doing
  31. 13:28:10 - zer0: [13:17:51] That's why it would be better create your own loader,
  32. 13:28:10 - zer0: [13:17:56] without modifying the original one
  33. 13:28:10 - zer0: [13:18:07] so you will have require,
  34. 13:28:10 - zer0: [13:18:14] and you can do basically everything you want
  35. 13:28:10 - forgetname: [13:18:31] I need modify original one because this one loads main.js from addons
  36. 13:28:10 - forgetname: [13:18:51] so it not have require but have import
  37. 13:28:10 - forgetname: [13:19:01] can I use import somehow instead require to load my js module?
  38. 13:28:10 - forgetname: [13:19:14] module located in sdk dir
  39. 13:28:10 - zer0: [13:19:20] not sure what you mean. The original is not made to load main.js from add-on, it's made as generic commonjs loader, that can be used to import main.js yes, but mainly everything
  40. 13:28:11 - zer0: [13:19:34] no, you can't. You can use import to load specific jsm file,
  41. 13:28:11 - zer0: [13:19:39] that are not commonjs one
  42. 13:28:11 - forgetname: [13:20:01] but jsm file is some sort of js module
  43. 13:28:11 - forgetname: [13:20:26] how can i convert requirejs module into jsm
  44. 13:28:11 - forgetname: [13:21:53] you will be shocked but i modify cuddlefish too, only god know how it work :c
  45. 13:28:11 - zer0: [13:25:47] forgetname, I don't know why you need to modify such thing, also I don't think we rely on cuddlefish anymore; however you can't convert jsm module into commonjs module if you want to use Cu.import
  46. 13:28:11 - zer0: [13:25:53] you have to do the opposite
  47. 13:28:11 - zer0: [13:25:57] (in case)
  48. 13:28:11 - zer0: [13:26:26] Or, as said, don't modifying the core functionality, and just create your own loader
  49. 13:28:11 - zer0: [13:26:37] But I don't know what's your aim
  50. 13:28:11 - forgetname: [13:28:02] yes i mean opposite, i found that i need just to declare EXPORTED_SYMBOLS
  51. 13:28:11 - ***: Playback Complete.
  52. 13:28:11 - Channel mode +nrt set by fripp.mozilla.org.
  53. 13:28:24 - zer0: forgetname, you have to declare exported_symbol, but you have also to remove any call to `require` and any usage of `exports`
  54. 13:29:01 - zer0: Also, keep in mind that by default it pollute the current scope with the exported_symbols
  55. 13:29:14 - forgetname: i not use any exports or require
  56. 13:29:23 - zer0: so for having something similar to a `require`, you have to pass an empty object
  57. 13:29:26 - zer0: something like:
  58. 13:29:28 - forgetname: but have ns_mailformed_uri error now, dont know why
  59. 13:29:43 - zer0: const { foo } = Cu.import("resource://...", {});
  60. 13:29:49 - zer0: `import` needs a full uri
  61. 13:29:52 - zer0: maybe is that?
  62. 13:30:05 - zer0: You can't pass relative uri like `require`
  63. 13:31:04 - forgetname: i tried const schemes = require('../system/schemes');
  64. 13:31:23 - forgetname: from loader.js, this patch should be valid i think
  65. 13:31:31 - forgetname: ah i forget .jsm
  66. 13:31:38 - forgetname: ah no, i not forget
  67. 13:32:11 - forgetname: it totaly wrong code)) sorry
  68. 13:32:26 - forgetname: const schemes = Cu.import('../../sdk/system/schemes.jsm');
  69. 13:34:10 - forgetname: maybe import inside loader.js work only with resource:// uri
  70. 13:43:30 - forgetname: yes resource uri works great, thanks for help:3
  71. 13:43:55 - forgetname: zer0: you first here who know how loader.js works )
  72. 13:47:33 - zer0: forgetname, np ;)
Advertisement
Add Comment
Please, Sign In to add comment