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

ts 编译如何修改部分代码目录

  •  
  •   Marstin · 2020-09-03 09:33:30 +08:00 · 917 次点击
    这是一个创建于 1577 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码结构和期望的编译后结构如下所示:

    │   index.ts
    │   tsconfig.json
    └───src
            app.ts
    
    │   index.ts
    │   index.js
    │   tsconfig.json
    └───src
            app.ts
    └───lib 
            app.js
    

    希望达到的效果是 indexjs 与 index.ts 文件均在最上层,ts 源码在 src 目录下,编译后的 js 代码在 lib 目录下。 index.js 中引入路径为./lib,应该如何配置实现呢

    5 条回复    2020-09-03 10:56:42 +08:00
    MrTreasure
        1
    MrTreasure  
       2020-09-03 10:18:05 +08:00
    tsconfig 里面有一个 outDir 这个是指定编译后的 js 文件位置,不过里面的目录结构会和 ts 的保持一致,index.js 应该也会在里面
    Marstin
        2
    Marstin  
    OP
       2020-09-03 10:20:31 +08:00
    @MrTreasure 是的,想不出怎么处理 index.js
    MrTreasure
        3
    MrTreasure  
       2020-09-03 10:26:52 +08:00
    我觉得 index.js 本来就应该作为启动放在打包后的产物里面。非要纠结的话,可以写一个编译完后运行的脚本,把 index.js 移动出来
    Marstin
        4
    Marstin  
    OP
       2020-09-03 10:35:52 +08:00
    @MrTreasure 移出来的同时还要替换引入路径,好麻烦。
    我这边是想同时提供 ts 和 js 两个版本的代码,入口文件应该在同一目录下的
    Tonni
        5
    Tonni  
       2020-09-03 10:56:42 +08:00
    我也遇到过这种问题,查了半天没找到合适的解决方案,现在是在 package.json 里面的 compile 命令里面里面加了几个复制相关文件 /目录的动作。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:55 · PVG 03:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.