V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
meinqy
V2EX  ›  问与答

请教 typescript 能否继承其他库中的类时,不讲该基类编译进当前项目

  •  
  •   meinqy · 2016-10-09 10:46:57 +08:00 · 1833 次点击
    这是一个创建于 2972 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的,用 typescript 写了几个组件 A_lib,b_lib,c_lib, 他们都依赖于一个基类 Base ,这些类都在同一个命名空间下 mop 。

    如果每个组件都将 Base 编译进来的话,虽然没有什么副作用,但感觉总是怪怪的,请问有木有方法只引用不编译?

    7 条回复    2016-10-09 12:20:52 +08:00
    gucheen
        1
    gucheen  
       2016-10-09 10:54:45 +08:00
    并不能,可以考虑使用 uglifyjs 移除 dead code
    crysislinux
        2
    crysislinux  
       2016-10-09 10:56:36 +08:00
    为什么感觉怪。你是想要 c 语言的那种引用头文件的感觉么。。那人家也是要链接的。总之用了的符号要能够找到
    meinqy
        3
    meinqy  
    OP
       2016-10-09 11:25:24 +08:00
    @gucheen 再次请教下,因为如果不编译 Base 时,由于存在 命名空间 所以需要修改代码在包函数中传入 Base , 这样 uglifyjs 可以做到么

    @crysislinux 就是类似 c 的动态库链接的效果哈,
    crysislinux
        4
    crysislinux  
       2016-10-09 11:33:07 +08:00
    @meinqy 最终基类肯定要编译的。如果你指的是在 bundle 过程中避免每次编译的话,应该是可以的,比如 webpack 的 dll 插件
    meinqy
        5
    meinqy  
    OP
       2016-10-09 11:39:58 +08:00
    @crysislinux 可能我没有说清楚,所有组件以及 基类 Base 都会编译到单独的 js 文件中,使用时要么使用工具合并编译后 js 文件,要么直接在 html 引用需要使用的组件即可。
    crysislinux
        6
    crysislinux  
       2016-10-09 11:41:01 +08:00
    @meinqy 应该可以, webpack 的 multi entry 就可以做这个事情。
    meinqy
        7
    meinqy  
    OP
       2016-10-09 12:20:52 +08:00
    已使用 d.ts 解决,
    感谢:

    @crysislinux
    @gucheen
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:40 · PVG 04:40 · LAX 12:40 · JFK 15:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.