使用两种安装方式(导入和CDN)将TypeScript包发布到NPM
我要将TypeScript项目发布到。我正在使用TypeScript编译器(tsc)传输项目的.ts文件以输出.js文件 因此,为了生成输出文件,我使用简单的使用两种安装方式(导入和CDN)将TypeScript包发布到NPM,typescript,npm,Typescript,Npm,我要将TypeScript项目发布到。我正在使用TypeScript编译器(tsc)传输项目的.ts文件以输出.js文件 因此,为了生成输出文件,我使用简单的tsc命令 Mytsconfig.json: { "compilerOptions": { "outDir": "dist", "declaration": true, "module": "commonjs", "moduleResolution": "node", "target": "es5
tsc
命令
Mytsconfig.json:
{
"compilerOptions": {
"outDir": "dist",
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"target": "es5"
}
}
发布后,我可以通过以下方式安装我的软件包:
npm install mypackagename
并通过以下方式在typescript中使用:
从“mypackagename”导入MyLib
它起作用了!但是我想提供两种安装方式:通过npm/import(如上例)和通过:
可能吗?也许我需要使用一些绑定器而不是TypeScript编译器
现在不可能了,因为我不能在浏览器中直接使用commonjs代码。我最终使用了bundler和configured:and as
libraryTarget:'umd'
-这将在所有模块定义下公开您的库,允许它与CommonJS、AMD和作为全局变量一起使用。请查看以了解更多信息
因此,我的建议是:
const path=require('path'))
module.exports={
条目:'./src/index.ts',
输出:{
path:path.resolve(uu dirname,'dist'),
文件名:“我的输出文件.js”,
库:“MyLib”,
图书馆目标:“umd”,
libraryExport:“默认值”,
},
模块:{
规则:[
{
测试:/\.ts$/,,
使用“ts加载器”,
排除:/node_模块/,
},
],
},
}
…并且是:
正因为如此,我的软件包可以通过ES6/TypeScript中的import
安装:
从“我的库”导入MyLib
…或通过:
var inst=new MyLib()
我的项目的源代码:我最终将bundler与配置的:和as一起使用
libraryTarget:'umd'
-这将在所有模块定义下公开您的库,允许它与CommonJS、AMD和作为全局变量一起使用。请查看以了解更多信息
因此,我的建议是:
const path=require('path'))
module.exports={
条目:'./src/index.ts',
输出:{
path:path.resolve(uu dirname,'dist'),
文件名:“我的输出文件.js”,
库:“MyLib”,
图书馆目标:“umd”,
libraryExport:“默认值”,
},
模块:{
规则:[
{
测试:/\.ts$/,,
使用“ts加载器”,
排除:/node_模块/,
},
],
},
}
…并且是:
正因为如此,我的软件包可以通过ES6/TypeScript中的import
安装:
从“我的库”导入MyLib
…或通过:
var inst=new MyLib()
我的项目的源代码:
{
"compilerOptions": {
"outDir": "dist",
"moduleResolution": "node",
"target": "es5"
},
"exclude": [
"node_modules",
"dist"
]
}