我有一個組件庫。它有一個manifest文件,看起來像這樣:我該如何讓FlashBuilder使用自定義命名空間前綴
<?xml version="1.0"?>
<componentPackage>
<component id="AutoComplete" class="be.edge.components.AutoComplete" />
<!-- more components left out for brevity -->
</componentPackage>
我編譯庫通過FlashBuilder這些編譯器設置:
當我使用編譯庫在其他FlashBuilder科技項目一切正常預期。我得到的代碼完成,當我從代碼完成選擇一個建議一個命名空間屬性被自動添加到組件,如下所示:
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ns="library://ns.edge.be" >
<ns:AutoComplete />
</s:Skin>
但是: FlashBuilder自動創建前綴「NS」。例如,我想將其定製爲'e'。我怎樣才能讓FlashBuilder默認使用這個自定義前綴?
我有兩個方面的原因:
- 「NS」沒有說什麼:它只是說命名空間已使用的,而不是命名空間。
- 當我使用其他庫也開始與URL像'library:// ns。' FlashBuilder可能會開始對前綴進行編號以解決衝突(ns,ns1,ns2等),這將更加令人困惑。
編輯:
我也傳遞一個config.xml中具有如下聲明與命名空間編譯:
<compiler>
<namespaces>
<namespace>
<uri>library://ns.edge.be</uri>
<manifest>manifest.xml</manifest>
</namespace>
</namespaces>
</compiler>
<include-namespaces>
<uri>library://ns.edge.be</uri>
</include-namespaces>
我試過了,希望它會奇蹟般地在我的系統上工作。但事實並非如此。你不應該在某處引用design.xml嗎?否則,編譯器無法知道它。 (我會添加更多的編譯器信息到我的問題。) – RIAstar
我也嘗試在我的config.xml中的'namespace'標記添加'prefix =「e」'無效(儘管我沒有收到錯誤)。 – RIAstar
啊哈!剛發現缺少的部分:您必須通過勾選'Flex Library Build Path'中的'Assets'選項卡下的複選框來將design.xml文件包含在swc中。你讓我在那裏,所以我會接受你的答案。 – RIAstar