如何在 vue 專案里正確地引用 jquery 和 jquery-ui的外掛
阿新 • • 發佈:2019-02-08
使用vue-cli構建的vue專案,webpack的配置檔案是分散在很多地方的,而我們需要修改的是build/webpack.base.conf.js
,修改兩處的程式碼
// 在開頭引入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
開頭加入
// 使用Bootstrap
import './assets/libs/bootstrap/css/bootstrap.min.css'
import './assets/libs/bootstrap/js/bootstrap.min'
這樣Bootstrap就正確的被引用並構建。
在比如使用toastr
元件,只需要在需要的地方import
進來,或者全域性引入css在需要的地方引用js,然後直接使用
// 使用toastr
import 'assets/libs/toastr/toastr.min.css'
import toastr from 'assets/libs/toastr/toastr.min'
toastr.success('Hello')
參考:
vue-cli webpack全域性引入jquery
首先在
package.json
里加入,dependencies:{ "jquery" : "^2.2.3" }
然後 nmp install
在
webpack.base.conf.js
里加入var webpack = require("webpack")
在module.exports的最後加入
plugins: [ new webpack.optimize.CommonsChunkPlugin('common.js'), new webpack.ProvidePlugin({ jQuery: "jquery", $: "jquery" }) ]
然後一定要重新 run dev
在main.js 引入就ok了
import $ from 'jquery'
在.vue檔案中引入第三方非NPM模組
var Showbo = require("exports?Showbo!./path/to/showbo.js");
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