[英]Loading AMD module inside JavaScriptCore
我想在JavascriptCore中加載一個javascript模塊(在iOS上)。
我正在通過iOS端的普通HTTP請求獲取文件的文本。 所以我可以將整個字符串解析為JScontext。
但是現在我想加載該模塊,理想情況下,解決任何其他依賴項,盡管這不是必需的。
我嘗試過將requireJS用於節點,但似乎有很多依賴性錯誤,也許它有點過時了。
我也試過偷,但我不確定這是不是正確的道路。 我也試過這個。 https://github.com/millermedeiros/nodefy
基本上我想做的是在瀏覽器中做js所做的事情,但是在純粹的javascript環境中(沒有瀏覽器,沒有節點)。
我還想使用browserify捆綁所有內容,並查看了類似的東西 - RequireJS加載字符串
問題是,當我去瀏覽代碼時,(要求,requirejs)進程失敗並且沒有依賴關系?
誰能指出我正確的方向?
你提到的技術並不完全相互兼容。 考慮像require('meow')
的行require('meow')
。 使用browserify / webpack / etc,將加載的文件是node_modules/meow/main.js
(取決於package.json所說的是主文件)。 在requirejs中,這個相同的文件將通過瀏覽器或項目的baseUrl根加載路徑/meow
。 重寫此方法的方法是在requirejs中添加配置選項。 這真的很痛苦,因為它有效地導致您為node_modules中的每個包創建一個條目。 簡而言之,如果沒有大量工作,您無法真正將requirejs和browserify結合起來。
要使用browserify或webpack設置代碼拆分,您需要為捆綁包定義新的入口點。 然后,當您從應用程序加載它時,您需要通過執行諸如fetch('https://myserver.com/bundle2.js').then()...
類的操作來加載該js包。 有一些工具可以幫助您使用webpack或browserify來完成此任務。
網絡的故事現在不是很好(截至2017年)。 大多數系統以某種自定義方式執行此操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.