<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>namesapce &#8211; 编程技术记录</title>
	<atom:link href="https://blog.z6z8.cn/tag/namesapce/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.z6z8.cn</link>
	<description>世界你好!</description>
	<lastBuildDate>Tue, 21 Jan 2020 02:56:17 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>typescript 聚合多个文件的多个类到一个命名空间</title>
		<link>https://blog.z6z8.cn/2020/01/21/typescript-%e8%81%9a%e5%90%88%e5%a4%9a%e4%b8%aa%e6%96%87%e4%bb%b6%e7%9a%84%e5%a4%9a%e4%b8%aa%e7%b1%bb%e5%88%b0%e4%b8%80%e4%b8%aa%e5%91%bd%e5%90%8d%e7%a9%ba%e9%97%b4/</link>
		
		<dc:creator><![CDATA[holdsky]]></dc:creator>
		<pubDate>Tue, 21 Jan 2020 02:56:17 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[namesapce]]></category>
		<category><![CDATA[typescript]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<guid isPermaLink="false">http://blog.z6z8.cn/?p=777</guid>

					<description><![CDATA[最近调研VSCode的插件开发，选择typescript语言，看了typescript的官方的指导手册关于na [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>最近调研VSCode的插件开发，选择typescript语言，看了typescript的官方的指导手册关于<a href="http://www.typescriptlang.org/docs/handbook/namespaces.html" title="namespace">namespace</a>的使用方式，我尝试类官方给出的一个文件和多个文件场景下使用namespace 。<br />
结果一个文件使用namesapce没有问题，但是多个文件共享namespace，VSCode的语法提示总是提示找不到xxxx。<br />
重点说明下，插件工程使用<code>yo code</code>创建的，namespace的示例也是官方的，官方的多个文件共享一个命名空间的方法是使用<code>/// &lt;reference path = &quot;xxxx.ts&quot; /&gt;</code>指令。</p>
<p>百思不解，百度依然不解。幸好与多年的c++经验，借鉴c++的namespace中导入符号的方法，我找到类一条可行的路----综合利用<code>nameapce</code> , <code>import as</code> , <code>extends</code>，示意如下:</p>
<p>a.ts内容</p>
<pre><code class="language-typescript">//a.ts
export class A {
}</code></pre>
<p>b.ts内容</p>
<pre><code class="language-typescript">//b.ts
export class B {
}</code></pre>
<p>c.ts内容</p>
<pre><code class="language-typescript">//c.ts
export class C {
}</code></pre>
<p>然后创建一个聚合的ts文件，将 a,b,c的符号以子类继承方式聚合<br />
my.ts</p>
<pre><code class="language-typescript">//my.ts
import * as _a from 'a';
import * as _b from 'b';
import * as _c from 'c';

expport namespace  my {
    export class A extends _a.A {}
    export class B extends _b.B {}
    export class C extends _c.C {}
}
</code></pre>
<p>使用示意：</p>
<pre><code class="language-typescript">import {my} from 'my';

let tmp = new my.A();</code></pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
