当我们想要使用typescript编写npm-lib时,我们应该使用typescript写源代码,然后将源代码推送到github,然后从typescript转移到javascript,并将javascript推送到npm-repo。当我们添加依赖项时,我们使用传输的javascript。有没有可能直接在github中使用typescript,或者将传输的javascript保留在github中并通过github url使用?我不想每次更改typescript源代码时都发布。npm不支持端口重写或快照版本。我必须将typescript编译为javascript并发布到npm?有什么建议吗?
我通常是通过拥有一个包含TypeScript文件的src/
文件夹,并为构建/编译的JS文件(如lib/
(拥有一个单独的文件夹来实现的
tsconfig.json
{
"compilerOptions": {
"outDir": "./lib"
},
"exclude": [
"lib"
]
}
现在,在package.json
文件中,您可以将main
字段声明为./lib/index.js
(或者无论您的主条目文件是什么(
您可以通过使用.npmignore
文件告诉NPM忽略文件,该文件的操作类似于.gitignore
文件。
.npmignore
# Ignore all src files
src
您可以使用npm pack
来测试NPM将打包什么(它将打印tarball内容(。
您甚至可以.gitignore
库文件夹,因为它是一个生成的文件夹。
如果您提供源映射,您可能仍然希望包含原始源typescript文件。