如题,假设我把LigerUI的源码下载下来,插件有core.js、a.js、b.js...请问如何使用webpack打包它们并压缩?
以前我都是用的一个合并js和压缩工具弄的,比较麻烦,不如用命令行方便

解决方案 »

  1.   

    webpack 也挺麻烦呀,要配置,每次上线敲命令。我一般项目就找个JS min压缩搞定。
      

  2.   

    https://webpack.js.org/guides/getting-started/
    文档写的很清楚啊 
      

  3.   


    我根据这个安装成功过了,但没怎么用过。
    现在一般用这个
    我以前也是用的工具压缩的,感觉每次都需要先合并文件(还得保证顺序,要不会出错,因为有依赖在里边),然后再压缩,感觉不如webpack方便,配置好了,只需敲个命令就等着就行了
      

  4.   

    刚看了下文档,感觉比较费劲。恳请代码明示下呗,ligerUI的插件一般这么写
    (function ($) {
    ..这里写具体的插件代码
    })(jQuery);
    我比较迷茫
      

  5.   

    首先安装node
    建个文件夹 进入文件夹
    sudo npm init -y
    sudo npm install --save webpack jquery
    建个webpack.config.js 配置出入口 具体看文档
    建个js 里边写
    import $ from 'jquery'
    //操作
    建个html 引入webpack.config.js里配的出口js
      

  6.   

    感谢大家的回答,自己解决了。这里将解决方案贴出来:
    1、首先 webpack.config.js做如下配置
    module.exports 部分
      entry:  __dirname + "/main.js",//入口文件
     output: {
        path: __dirname + "/bdui",//打包后的文件存放的地方
        filename: "bdui.min.js",//打包后输出文件的文件名
    libraryTarget: "var"//输出格式
      },
    externals: {
        "jquery": "jQuery"//指定变量是从外部url引入的,这样插件合并就不会报编辑错误
    }
    2、入口文件main.js内容
    require('imports-loader?$=jquery!./bdui/plugins/core');
    require('imports-loader?$=jquery!./bdui/plugins/inject');
    require('imports-loader?$=jquery!./bdui/plugins/bdAccordion');
    require('imports-loader?$=jquery!./bdui/plugins/bdButton');
    ......
    3、合并压缩代码
    webpack -p
    这个命令行会自动调用自带的uglifyjs插件进行压缩(当然你可以在webpack.config里配置plugins,效果是一样的)
    合并压缩问题是解决了,新问题来了,
    我用js压缩工具压缩后是278KB,用webpack压缩后是377KB,我就纳闷了 ,差在什么地方呢?
    请问大牛们还有什么办法让它继续缩小,还有我看min.js代码 大部分代码是没有混淆的啊??谁来给指点一下迷津??
    备注: new webpack.optimize.UglifyJsPlugin({
                compress: { warnings: false, },
                output: { comments: false }
            }) 这样配置后效果还是一样的,还是377KB