如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件

使用 vue-cli 构建的 vue 项目,webpack 的配置文件是分散在很多地方的,而我们需要修改的是build/webpack.base.conf.js,修改两处的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// 在开头引入webpack,后面的plugins那里需要
var webpack = require('webpack')
// resolve

module.exports = {
// 其他代码...
resolve: {
extensions: ['', '.js', '.vue'],
fallback: [path.join(__dirname, '../node_modules')],
alias: {
src: path.resolve(__dirname, '../src'),
assets: path.resolve(__dirname, '../src/assets'),
components: path.resolve(__dirname, '../src/components'),

// webpack 使用 jQuery,如果是自行下载的
// 'jquery': path.resolve(__dirname, '../src/assets/libs/jquery/jquery.min'),
// 如果使用NPM安装的jQuery
jquery: 'jquery',
},
},

// 增加一个plugins
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
}),
],

// 其他代码...
}

这样就可以正确的使用 jQuery 了,比如我要引入Bootstrap,我们在 vue 的入口 js 文件src/main.js开头加入

1
2
3
// 使用Bootstrap
import './assets/libs/bootstrap/css/bootstrap.min.css'
import './assets/libs/bootstrap/js/bootstrap.min'

这样 Bootstrap 就正确的被引用并构建。
在比如使用toastr组件,只需要在需要的地方import进来,或者全局引入 css 在需要的地方引用 js,然后直接使用

1
2
3
4
5
// 使用toastr
import 'assets/libs/toastr/toastr.min.css'
import toastr from 'assets/libs/toastr/toastr.min'

toastr.success('Hello')

参考:

vue-cli webpack 全局引入 jquery

  1. 首先在package.json里加入,

    1
    2
    3
    dependencies:{
    "jquery" : "^2.2.3"
    }

    然后 nmp install

  2. webpack.base.conf.js里加入

    1
    var webpack = require('webpack')
  3. 在 module.exports 的最后加入

    1
    2
    3
    4
    5
    6
    7
    plugins: [
    new webpack.optimize.CommonsChunkPlugin('common.js'),
    new webpack.ProvidePlugin({
    jQuery: 'jquery',
    $: 'jquery',
    }),
    ]
  4. 然后一定要重新 run dev

  5. 在 main.js 引入就 ok 了
    1
    import $ from 'jquery'

参考:vue-cli 怎么引入 jquery

在.vue 文件中引入第三方非 NPM 模块

1
var Showbo = require('exports?Showbo!./path/to/showbo.js')

参考:exports-loader

vue-cli 引入外部文件

webpack.base.conf.js中添加externals

externals 中 swiper 是键,对应的值一定的是插件 swiper.js 所定义的变量 Swiper :


之后再在根目录下的 index.html 文件里引入文件:<script src="static/lib/swiper.js"></script>
这样子就可以在需要用到 swiper.js 的文件里加入这行代码:import Swiper from 'swiper',这样就能正常使用了。
参考: https://segmentfault.com/q/1010000005169531?_ea=806312

坚持原创技术分享,您的支持将鼓励我继续创作!