如何使用webpack编译我的npm库以及什么配置?
我正在做一个js,我的目标是发布npm。它将在web和节点上使用。 我阅读了网页文档,并使用以下配置。捆绑和缩小,它产生一个20kb的包,这,依我看,是相当大的,它所做的。 我应该那样把它和网页包捆绑在一起吗如何使用webpack编译我的npm库以及什么配置?,npm,webpack,package,Npm,Webpack,Package,我正在做一个js,我的目标是发布npm。它将在web和节点上使用。 我阅读了网页文档,并使用以下配置。捆绑和缩小,它产生一个20kb的包,这,依我看,是相当大的,它所做的。 我应该那样把它和网页包捆绑在一起吗 { mode: 'production', entry: { mylib: './src/mylib_browser.ts', // same for node "mylib.min": './src/mylib_browser.ts'
{
mode: 'production',
entry: {
mylib: './src/mylib_browser.ts', // same for node
"mylib.min": './src/mylib_browser.ts'
},
watch: true,
target: 'web', // node for node
devtool: 'source-map',
externals: [nodeExternals()],
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name]_browser.js',
libraryTarget: 'umd',
library: 'MyLib',
umdNamedDefine: true
},
plugins: [
new UglifyJsPlugin({
sourceMap: true,
include: /\.min\.js$/,
})
],
};
我有相同的节点配置
这是正确的配置吗?我怎样才能缩小尺寸?
另外,当我看其他npm包时,很多都只是普通的js。我是否应该让我的npm包的用户将其打包为一个普通的依赖项?您确定正在进行缩小吗?你有UglifyJs只缩小已经缩小的文件,这似乎是错误的
new UglifyJsPlugin({
sourceMap: true,
include: /\.min\.js$/, //<= remove this line
})
新的UglifyJsPlugin({
sourceMap:true,
include://\.min\.js$/,//当我使用mode==prod.Hum时,webpack会进行缩小。但是我应该如何停止使用webpack,而只是使用typescript来生成我的库?因为我有这个umd设置,使webpack添加内容。