Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用webpack编译我的npm库以及什么配置?_Npm_Webpack_Package - Fatal编程技术网

如何使用webpack编译我的npm库以及什么配置?

如何使用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'

我正在做一个js,我的目标是发布npm。它将在web和节点上使用。 我阅读了网页文档,并使用以下配置。捆绑和缩小,它产生一个20kb的包,这,依我看,是相当大的,它所做的。 我应该那样把它和网页包捆绑在一起吗

{
    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添加内容。