使用两种安装方式(导入和CDN)将TypeScript包发布到NPM

使用两种安装方式(导入和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

我要将TypeScript项目发布到。我正在使用TypeScript编译器(tsc)传输项目的.ts文件以输出.js文件

因此,为了生成输出文件,我使用简单的
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"
  ]
}