繁体   English   中英

如何将所有js文件合并到一个捆绑webpack中

[英]how to merge all js files into one bundle webpack

如何将所有js文件合并为一个? 随着webpack 1. *的缩小?

这是我的webpack配置的一部分

entry: {
    bundle: "./src/index.tsx",
    styles: './static/scss/main.scss',

    main : [
        './static/js/jquery.js',
        './static/js/bowser.js',
        './static/js/bootstrap.js',
        './static/js/jquery.resizeend.js',
        './static/js/slick.js',
        './static/js/jquery.waypoints.js',
        './static/js/jquery.backgroundpos.js',
        './static/js/jquery.fancybox.js',
        './static/js/select2.full.js',
        './static/js/jquery.mousewheel.js',
        './static/js/clipboard.js',
        './static/js/circle-progress.js',
        './static/js/common.js',
        './static/js/main.js'
    ]
},
output: {
    filename: "[name].js",
    path: "../root/js/react",
    library: '[name]'
},

构建之后,所有js文件都缩小了但我遇到了这些依赖项的问题:

bootstrap找不到jquery

Uncaught Error: Bootstrap's JavaScript requires jQuery
    at Object.1213 (main.js:3)
    at t (main.js:1)
    at Object.0 (main.js:1)
    at t (main.js:1)
    at main.0 (main.js:1)
    at main.js:1

注意:Jquery在bootstrap之前出现所以它应该没问题

Jquery在bootstrap之前出现所以它应该没问题

不是不是这样,因为webpack仍然将它们作为模块保留,但是bootstrap期望jQuery在全局存在。 您可以通过使用该解决此ProvidePlugin ,这样的WebPack自动导入jQuery的,只要自己认为它被使用。 将它添加到webpack配置中的plugins部分:

plugins: [
  new webpack.ProvidePlugin({
    $: 'jquery',
    jQuery: 'jquery'
  })
]

注意:我链接了webpack 2的文档,但这与webpack 1完全相同

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM