shuson
0.21D

前端 js 代码工业化时第三方库处理方式问题求解答

  •  
  •   shuson · Jan 3, 2017 · 2472 views
    This topic created in 3507 days ago, the information mentioned may be changed or developed.

    有一个场景: 我的 source code 是 es6 写的,假如说,我是说假如想用一个流行第三方库 jquery, 于是乎, npm install --save jquery, 之后就可以在代码里 import $ from 'jquery'了, 当我用 webpack 和 babel 打包成一个 bundle.js 的时候, jquery 也会被打包进去吧?

    之后,有另外一个 project 要用我的这个 bundle.js ,而且他们也要用 es6 和 jquery ,于是他们也自己 npm install 了,然后也 webpack 了一下,这样他们的 bundle2.js 里又有我的 bundle.js 又有 jquery ,这样整个 bundle2 里有两份 jquery 了吧。

    不知道我这样讲是不是合适?如有错误烦请批评我,指正我。

    最终问题,如何处理上面描述的重复性第三方文件问题?

    6 replies    2017-01-03 20:19:21 +08:00
    chairuosen
        1
    chairuosen  
       Jan 3, 2017
    你只发布源码,让他们用的时候自己找 jquery 打包去
    Biwood
        2
    Biwood  
       Jan 3, 2017
    如果两个项目是独立且不相关的,那么重复打包 jquery 很正常, webpack 优点就是打包之前的模块化, jquery 也是一个模块,当然需要打包

    如果两个项目是相关联的,那么就为相关联的部分单独建立一个项目,单独打包公共模块
    learnshare
        3
    learnshare  
       Jan 3, 2017
    如果两个项目关联性较大,比如 PC 版 + 移动版,可以把公用的代码单独打包,两个项目引用同一个 URL
    L3au
        4
    L3au  
       Jan 3, 2017
    --save-dev [-D] 保存到 devDependencies 而非 dependencies ,也可以把 jquery 配置成 "external"
    https://webpack.github.io/docs/library-and-externals.html

    另外,一般叫 "工程化" :)
    xjp
        5
    xjp  
       Jan 3, 2017 via iPhone
    这个问题在于重复打包 提供源码 统一在最终的节点打包一次就可以了
    shuson
        6
    shuson  
    OP
       Jan 3, 2017
    @xjp
    @chairuosen
    感谢,这种思路可取,


    @L3au 这种就是实现上述的方式吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   900 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:58 · PVG 04:58 · LAX 13:58 · JFK 16:58
    ♥ Do have faith in what you're doing.