【发布时间】:2017-03-13 23:03:10
【问题描述】:
我正在使用 Angular 2 和 typescript,但我不确定我点击了什么,但我的所有 .ts 文件都创建了额外的 .js.map/.js 文件。有谁知道如何删除这些文件?
当我打开文件夹时,它似乎正在尝试为文件编制索引...我不确定是什么原因造成的(见下图)。
【问题讨论】:
我正在使用 Angular 2 和 typescript,但我不确定我点击了什么,但我的所有 .ts 文件都创建了额外的 .js.map/.js 文件。有谁知道如何删除这些文件?
当我打开文件夹时,它似乎正在尝试为文件编制索引...我不确定是什么原因造成的(见下图)。
【问题讨论】:
Ctrl + b 将.ts 文件编译成各自的.js 和.js.map 文件。
如果您使用 git 进行版本控制,并且没有添加任何其他未跟踪的文件,则可以运行:
git clean -fd 将删除所有未跟踪的文件
【讨论】:
git clean -fd,那么先用git add ...一个一个添加,再@987654327 @,然后是git reset。
这些是 Typescript 编译器生成的文件。如果要隐藏它们,可以将属性添加到用户配置"file_exclude_patterns",其值是要排除的模式数组。您可以"*.js" 和"*.map.js" 排除这些文件扩展名。
另见answer
【讨论】:
您可以将cd 放入项目的src 文件夹并安全运行
find . -name "*.js*" -type f
它将找到您的所有 .js 和 .js.map 文件。浏览此列表并仔细检查以确保您没有删除任何重要内容。
当您对删除所有这些文件感到满意后,运行
find . -name "*.js*" -type f -delete
这实际上会删除文件。
【讨论】:
您可能按下了“ctrl + b”,它会编译 .ts 以显示代码中的错误。
所以解决方案是...手动删除它们,永远不要再按“ctrl + b” D =
或更改该简码。
【讨论】:
这只是发生在我身上,因为不小心点击了 ctrl + b 使 sublime text 3 上的 typescript 插件将所有 ts 编译为 js。要删除所有不必要的 js 和映射文件,请在您的 src 文件夹中尝试此操作(使用 cmd)
Windows
del /s *.js
del /s *.map
苹果机
find . -name '*.js' -delete
find . -name '*.map' -delete
【讨论】:
要删除所有与.ts 相关联的.js 和.js.map 文件,您可以使用python 脚本:
#!/usr/bin/python3
# Requires at least Python 3.5+
import os
from pathlib import Path
def clean_ts( ts_file_path ):
[base_name, ext] = os.path.splitext(ts_file_path)
if ext != ".ts":
return
js_name = base_name + ".js"
jsmap_name = base_name + ".js.map"
if os.path.exists(js_name):
os.remove(js_name)
print("Delete:\n\t{}".format(js_name))
if os.path.exists(jsmap_name):
os.remove(jsmap_name)
print("Delete:\n\t{}".format(jsmap_name))
pathlist = Path(os.getcwd()).glob('**/*.ts')
for path in pathlist:
# because path is object not string
if "node_modules" in str(path):
continue
clean_ts(str(path))
【讨论】: