search

Home  >  Q&A  >  body text

javascript - webpack如何全局加载第三方插件,类似jQuery?

习惯了requirejs,一下不知道webpack要怎么写,requirejs只需要配好jQuery的路径,然后define一个模块的时候加上依赖就可以了。

但是webpack直接require('./jquery'),似乎不能直接使用,为什么,webpack同时兼容CommonJsAmd的写法,jQuery也是支持CommonJs的。

PHP中文网PHP中文网2819 days ago258

reply all(4)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 15:24:09

    webpack是直接从npm的安装包里读的。

    你npm install jquery,然后直接就require('jquery'),这样就引入了。

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:24:09

    可以使用webpack官方的ProvidePlugin:

    module.exports = {
        resolve: {
            root: [],
            alias: {
                'jquery': path.resolve(rootDir, './lib/jquery.min.js'); 
            }
        },
        plugins: [
            new webpack.ProvidePlugin({
                $: 'jquery'
            }),
        ]
    };

    这个插件将jquery暴露给所有模块,其它模块不用再显式require('jquery')了;只要模块的代码中出现了$,webpack就会自动将jQuery注入。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:24:09

    照做后有个问题:

    * 打包到一个module里的函数,$ 是可见的
    * 内嵌在html里的js中还是无法访问$,这可如何是好?

    reply
    0
  • 阿神

    阿神2017-04-10 15:24:09

    webpack也支持通过路径查找

    reply
    0
  • Cancelreply