簡體   English   中英

在JavaScriptCore中加載AMD模塊

[英]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來完成此任務。

  1. Browserify的一些策略 - http://esa-matti.suuronen.org/blog/2013/04/15/asynchronous-module-loading-with-browserify/
  2. Webpack - https://webpack.github.io/docs/code-splitting.html

網絡的故事現在不是很好(截至2017年)。 大多數系統以某種自定義方式執行此操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM