首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不将我的文件保存在TS的dist目录中

将文件保存在TS(TypeScript)的dist目录中是一种不推荐的做法。以下是详细的解答:

保存文件的目录结构和规划是软件开发中的一个重要决策,对于不同的文件类型和用途,应该选择合适的目录来存储它们。对于TS项目中生成的JavaScript文件(通常位于dist目录),不建议将其他文件直接保存在该目录中,原因如下:

  1. 维护性:dist目录通常是编译输出目录,它的内容可能会被频繁地改变和覆盖。将其他文件存放在其中会增加对文件版本控制和维护的复杂性。如果需要更新或替换dist目录,那些额外的文件可能会丢失或冲突。
  2. 构建过程:在软件开发中,通常使用构建工具(例如webpack、gulp、parcel)来管理和自动化构建过程。这些工具通常配置了指定的输入和输出目录,将特定的文件转换、编译、压缩等。将其他文件放入dist目录可能会干扰构建工具的预期行为,导致构建过程出现错误。
  3. 清晰性:良好的目录结构有助于项目的组织和维护。将不同类型的文件保存在各自的目录中,可以更清晰地识别和访问它们。这种规范性的目录结构也有助于团队合作和项目迭代。

对于存储文件的合适位置,可以根据文件的类型和用途进行决策。以下是一些常见的文件类型及其推荐的存储位置:

  1. 静态资源文件(例如图像、样式表、字体等):通常应该放在一个单独的目录(例如"assets")中,使其与源代码分开,方便统一管理和部署。
  2. 配置文件:可以放在项目根目录下的"config"或者"settings"目录中,或者根据具体情况将其集中存放在一个专门的目录中。
  3. 测试文件:通常应该与源代码分开,放在一个独立的"tests"目录中。

总之,对于TS项目,建议将dist目录保持纯粹,只保存由TS编译生成的JavaScript文件。其他类型的文件应该根据类型和用途选择合适的目录来存储,并在构建工具的配置中进行相应的处理和部署。这样可以保持代码的整洁性和可维护性,同时提高开发效率和团队合作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 《现代Typescript高级教程》解读TSConfig

    "outDir": "dist" 指定输出目录为 "dist"。 同时,我们使用 include 和 exclude 配置选项分别指定了需要编译的源文件的包含规则和排除规则。..."include": [ "src/**/*.ts", "test/**/*.ts" ] exclude 是一个文件或者文件夹的数组,用于指定需要排除的文件或文件夹的路径模式。..."exclude": [ "node_modules", "dist" ] 在上述示例中,我们将 src 文件夹和 test 文件夹下的所有 TypeScript 文件包含在编译过程中,并排除了...在项目根目录下创建一个名为 index.ts 的文件,并添加以下代码: import * as tsconfig from '....": { "build": "tsc" } } 最后,运行构建命令进行构建: $ npm run build 构建完成后,我们的库文件 将位于 dist 目录下。

    60720

    【TS】612- 了不起的 tsconfig.json 指南

    在 TypeScript 开发中,tsconfig.json 是个不可或缺的配置文件,它是我们在 TS 项目中最常见的配置文件,那么你真的了解这个文件吗?它里面都有哪些优秀配置?...什么是 tsconfig.json TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript...指定需要编译的目录 在不指定输入文件的情况下执行 tsc 命令,默认从当前目录开始编译,编译所有 .ts 文件,并且从当前目录开始查找 tsconfig.json 文件,并逐级向上级目录搜索。...removeComments 配置生效了,将我们添加的注释代码移除了。..."files": [ // 指定编译文件是src目录下的leo.ts文件 "scr/leo.ts" ] } 6. include include 属性作用是指定编译需要编译的文件或目录

    2.1K30

    了不起的 tsconfig.json 指南

    在 TypeScript 开发中,tsconfig.json 是个不可或缺的配置文件,它是我们在 TS 项目中最常见的配置文件,那么你真的了解这个文件吗?它里面都有哪些优秀配置?...什么是 tsconfig.json TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript...指定需要编译的目录 在不指定输入文件的情况下执行 tsc 命令,默认从当前目录开始编译,编译所有 .ts 文件,并且从当前目录开始查找 tsconfig.json 文件,并逐级向上级目录搜索。...removeComments 配置生效了,将我们添加的注释代码移除了。..."files": [ // 指定编译文件是src目录下的leo.ts文件 "scr/leo.ts" ] } 6. include include 属性作用是指定编译需要编译的文件或目录

    4.1K10

    了不起的 tsconfig.json 指南

    [封面.png] 在 TypeScript 开发中,tsconfig.json 是个不可或缺的配置文件,它是我们在 TS 项目中最常见的配置文件,那么你真的了解这个文件吗?它里面都有哪些优秀配置?...什么是 tsconfig.json TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript...为什么使用 tsconfig.json 通常我们可以使用 tsc 命令来编译少量 TypeScript 文件: /* 参数介绍: --outFile // 编译后生成的文件名称 --target...指定需要编译的目录 在不指定输入文件的情况下执行 tsc 命令,默认从当前目录开始编译,编译所有 .ts 文件,并且从当前目录开始查找 tsconfig.json 文件,并逐级向上级目录搜索。...removeComments 配置生效了,将我们添加的注释代码移除了。

    2.7K42

    Deno 入门指南

    /dist/index.js deno install 可以将我们的代码生成可执行文件进行直接使用 #!...deno 的可执行文件默认都放在 /Users/yangjunning/.deno/bin/ 目录下,我们需要将它注册到环境变量中: $ export PATH="/Users/yangjunning...您可以指定一系列用逗号分隔的目录或文件,来提供文件系统白名单。 --allow-run 允许运行子进程。请注意,子进程不在沙箱中运行,因此没有与 deno 进程相同的安全限制,请谨慎使用。.../dist/index.js deno install 可以将我们的代码生成可执行文件进行直接使用 $ deno install --allow-read --allow-net --allow-write.../src/index.ts deno 的可执行文件默认都放在 /Users/yangjunning/.deno/bin/ 目录下,我们需要将它注册到环境变量中: $ export PATH="/Users

    1.5K30

    Win10 64位 win7 64位 驱动安装不上,提示 文件的哈希值不在指定的目录文件中。此文件可能已损坏或被篡改

    【疑难解答】->疑难解答【高级选项】->高级选项【启动设置】->启动设置【重启】 第二步、禁用驱动程序强制签名 平板:等待,到了高级启动设置界面,按下F7,这样本次启动就是“禁用驱动程序强制签名”启动的。...台式:需要先进入bios(进入bios的方式跟主板有关系,每个型号的主板进入bios的键都不一样,一般【Delete】、【F8】、【F2】、【F12】这几个键是最常见的),按住bios启动键到bios界面...,松开bios启动键,按界面指定的方法(一般是【Esc】键)退出Bios设置界面就到了高级启动设置界面,按下F7,这样本次启动就是“禁用驱动程序强制签名”启动的。

    1.3K20

    TypeScript在react项目中的实践

    TypeScript在react项目中的实践 前段时间有写过一个TypeScript在node项目中的实践。 在里边有解释了为什么要使用TS,以及在Node中的一个项目结构是怎样的。...我们会使用ts进行React程序的开发 2. .tsx文件在vs code上的icon比较好看 :p tsconfig.json 是用于tsc编译执行的一些配置文件 components 组件存放的目录...common目录,这个目录是存放一些公共的函数和公共的config,不同于utils或者config的是,这里的代码是前后端共享的,所以这里边的函数一定要是完全的不包含任何环境依赖,不包含任何业务逻辑的.../dist/vendors-manifest.json'), }), ] } 这样在watch文件时,打包就会跳过verdors中存在的那些包了。...关于ESLint的配置文件.eslintrc,在本项目中存在两份。

    1.8K30

    使用Vue3+TS重构百星websocket插件

    Observer.js 观察者模式,websocket服务核心功能封装 build.js 编译后的代码文件 dist 编译后的项目文件夹 node_modules 项目依赖库 src 项目源码文件夹...": [ "src/**/*.ts" ]// 要打包的文件 } 修改已经废弃的语法 在插件的入口文件Main.js中,插件需要向Vue全局挂载属性,即Vue.prototype.xx =...但是在ts中它就会报错,Websocket中不存在sendObj方法,一开始我想在lib.dom.d.ts中定义这个方法,但是想了想这样做不妥,不能修改全局的库声明文件,毕竟这是插件。...scripts": { "build": "tsc" } } 随后,执行yarn run build命令,就会在项目的根目录下创建dist文件夹并将打包后的js文件放入其中。...image-20201102214629366 dist目录中的文件就是我们要发布至npm仓库的包,在发布至npm仓库之前,我们要先做一些事情,让插件更加规范化。

    3.1K30

    Node.js项目TypeScript改造指南

    dist目录,而 TypeScript 是需要编译的,所以重点是要独立出一个源码目录和编译目标目录,推荐的目录结构如下,另外,根据不同技术栈还有一堆其他的配置文件如 prettier、travis 等等这里就省略了.../usr/bin/env node |-- dist # 项目使用ts开发,dist为编译后文件目录,注意package.json中main字段要指向dist目录 |-- docs...# 源码目录,注意此目录只放ts文件,其他文件如json、模板等文件放templates目录 |-- sub # 子目录 |-- cli.ts # cli...我们将声明文件补充到typings文件夹中,以包名作为子目录名,最简单的写法如下,这样 IDE 和 TypeScript 编译便不会报错了。...declare module 'mod' 至于为什么需要放在 typings 目录,并且以包名作为子包目录,因为不这样写,ts-node(下文会提到)识别不了,暂且按照 ts-node 的规范来吧。

    4.6K10

    Node.js项目TypeScript改造指南

    dist目录,而 TypeScript 是需要编译的,所以重点是要独立出一个源码目录和编译目标目录,推荐的目录结构如下,另外,根据不同技术栈还有一堆其他的配置文件如 prettier、travis 等等这里就省略了.../usr/bin/env node |-- dist # 项目使用ts开发,dist为编译后文件目录,注意package.json中main字段要指向dist目录 |-- docs...# 源码目录,注意此目录只放ts文件,其他文件如json、模板等文件放templates目录 |-- sub # 子目录 |-- cli.ts # cli...我们将声明文件补充到typings文件夹中,以包名作为子目录名,最简单的写法如下,这样 IDE 和 TypeScript 编译便不会报错了。...declare module 'mod' 至于为什么需要放在 typings 目录,并且以包名作为子包目录,因为不这样写,ts-node(下文会提到)识别不了,暂且按照 ts-node 的规范来吧。

    4.4K20

    Node.js 项目 TypeScript 改造指南

    dist目录,而 TypeScript 是需要编译的,所以重点是要独立出一个源码目录和编译目标目录,推荐的目录结构如下,另外,根据不同技术栈还有一堆其他的配置文件如 prettier、travis 等等这里就省略了.../usr/bin/env node |-- dist # 项目使用ts开发,dist为编译后文件目录,注意package.json中main字段要指向dist目录 |-- docs...# 源码目录,注意此目录只放ts文件,其他文件如json、模板等文件放templates目录 |-- sub # 子目录 |-- cli.ts # cli...我们将声明文件补充到typings文件夹中,以包名作为子目录名,最简单的写法如下,这样 IDE 和 TypeScript 编译便不会报错了。...declare module 'mod' 至于为什么需要放在 typings 目录,并且以包名作为子包目录,因为不这样写,ts-node(下文会提到)识别不了,暂且按照 ts-node 的规范来吧。

    8.4K32

    会写 TypeScript 但你真的会 TS 编译配置吗?

    如果 tsconfig.json 文件中 files 和 include 字段都不存在,则默认包含 tsconfig.json 文件所在目录及子目录的所有文件,且排除在 exclude 字段中声明的文件或文件夹.../Await、Promise、扩展运算符,并在 tsconfig.jon -> target 设置为 ES5: 验证 target 降级处理 然后发现在右侧的 dist/index.js 文件中,依然存在.../src",则 src 目录下的 TS 文件不能引用 src 目录以外的 ts 文件,一般我们会设置为 ./src 或 ..../dist",及将 TSC 编译输出的 JS 文件,统一输出的 ./dist 目录下。...1.8.4 以上并且安装 atom-typescript 插件 } 四、打包工具中的 TypeScript 前文讲到了为什么不推荐直接使用 TSC 作为项目的打包编译工具,那么接下来就简单看看在常见的几款打包工具中针对

    3.8K41

    TypeScript必知三部曲(一)TypeScript编译方案以及IDE对TS的类型检查

    为什么IDE打开ts项目的时候,就能有这些ts代码的类型定义?为什么明明IDE对代码标红报错,但代码有能够编译出来?...指定ts代码存放的根目录,这里就是当前目录(项目根目录)下的src文件夹,能够匹配到我们编写的项目根目录/src/index.ts; outDir:指定ts代码经过编译后,生成的js代码的存放目录。...如果不写任何配置项,env 等价于 latest,也等价于 es2015 + es2016 + es2017 三个相加(不包含 stage-x 中的插件);@babel/preset-typescript..../.babelrc -x .ts -d dist" + }, ... } 编译指令指定了babel要读取的源代码所在目录(src)、babel配置文件地址(--config-file ./.babelrc...)、babel需要处理的文件扩展(-x .ts)、编译代码生成目录(-d dist)。

    89920

    在发布组件库之前,你需要先掌握构建和发布函数库

    那么最适合作为我们学习入口的当然是函数库的构建,因为它通常只涉及 JS/TS,这是我们最熟悉的领域。 构建函数库 为什么要做构建工作?...截至到目前,我们在本专栏中实现的一些组件/函数/Hook等内容都还停留在源码层面,基本上是以.ts, .tsx, .vue等形式存在的,并且我们可以发现,package.json中的main入口都是index.ts...而在我们的认知中,我们用的一些常见的库,它们提供的main, module等入口通常是xxx.js,而不是用一个.ts文件作为入口。...仔细品味,不难想明白除了清理目录(dist, es, lib, types 等目录)的工作需要先行,其他的工作都可以并行执行(因为它们之间没有依赖关系)。...清理目录 因为在开始新的构建工作之前可能存在上一次构建的产物,所以对于构建产生的 dist, es, lib, types 等目录,我们需要将其清理干净,这本质上是文件操作,但是在 gulp 生态中有很多插件可以让我们选择

    82720

    你不知道的 Electron (二):了解 Electron 打包

    是怎么做到将我们的网页代码打包成一个可执行程序的呢?..."electron-builder" } 打包 生成 package 目录但是没有打包为一个文件 npm run pack 生成一个 exe 或者 dmg 文件 npm run dist 指定平台和架构..."packages/electron-builder/src/cli/cli.ts" 从源码中我们不难定位到 packages/electron-builder/src/cli/cli.ts 这个文件就是命令的入口文件...从入口文件往下分析: packages/electron-builder/src/builder.ts cli.ts 文件中 import 了上一层目录的 builder.ts 文件导出的 build...可执行文件是怎么来的 通过实现一个通用的可执行程序,这个程序做的事情是将 resources/app.asar 作为项目根目录,运行 app.asar/package.json 中 main 指定文件作为入口文件

    3.6K20
    领券