添加 Jquery 到 Vue-Cli 3
Add Jquery to Vue-Cli 3
我目前正在尝试将 Jquery 添加到我的 vue-cli
项目中。我知道它会产生不良行为,但无论如何;由于不再有 build/webpack.base.conf.js
我尝试通过添加编辑 vue.config.js
:
module.exports {
...
chainWebpack: config => {
config.plugin('define').tap(definitions => {
definitions[0] = Object.assign(definitions[0], {
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery',
_: 'lodash'
})
return definitions
})
}
...
}
或
const webpack = require('webpack')
module.exports {
...
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
})
]
...
}
这两个选项似乎都不起作用。使用#1 似乎什么都没有发生,使用#2 我得到编译错误;不允许 "plugins" 或 'ProvidePlugin' 未解决且
当我尝试直接在 main.js 中导入 jQuery 并定义 $ 运算符时,jquery 在我尝试使用它时保持未定义状态。
非常感谢您!
通过添加到 main.js
解决了它
window.$ = window.jQuery = require('jquery');
我做到了,jQuery 现在 全球可用 。
另一种方法是;
Vue.use({
install: function(Vue, options){
Vue.prototype.$jQuery = require('jquery'); // you'll have this.$jQuery anywhere in your vue project
}
});
我希望这对以后遇到同样问题的人有所帮助。如果还是想不通,请查看 or have a look at the documentation.
编辑: 确保 运行 npm install jquery
.
#2 你忘记添加 configureWebpack 到 vue.config.js
const webpack = require('webpack')
module.exports = {
configureWebpack: {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
})
]
},
}
我按照以下步骤完成的:
首次安装jquery
npm install jquery --save-dev
在任何组件或视图中:
<script>
import jQuery from "jquery";
const $ = jQuery;
window.$ = $;
....
....
....
或如上答案,两者相同:
window.$ = window.jQuery = require("jquery");
现在您可以在页面的任何地方使用,为了全球可用性,只需按照上面所说的答案。
在vue.config.js中添加以下内容
chainWebpack: (config) => {
config
.plugin('provide')
// eslint-disable-next-line global-require
.use(require('webpack').ProvidePlugin, [{
'window.Quill': 'quill/dist/quill.js',
Quill: 'quill/dist/quill.js',
'window.jQuery': 'jquery/src/jquery.js',
jQuery: 'jquery/src/jquery.js',
}]);
},
我目前正在尝试将 Jquery 添加到我的 vue-cli
项目中。我知道它会产生不良行为,但无论如何;由于不再有 build/webpack.base.conf.js
我尝试通过添加编辑 vue.config.js
:
module.exports {
...
chainWebpack: config => {
config.plugin('define').tap(definitions => {
definitions[0] = Object.assign(definitions[0], {
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery',
_: 'lodash'
})
return definitions
})
}
...
}
或
const webpack = require('webpack')
module.exports {
...
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
})
]
...
}
这两个选项似乎都不起作用。使用#1 似乎什么都没有发生,使用#2 我得到编译错误;不允许 "plugins" 或 'ProvidePlugin' 未解决且 当我尝试直接在 main.js 中导入 jQuery 并定义 $ 运算符时,jquery 在我尝试使用它时保持未定义状态。
非常感谢您!
通过添加到 main.js
window.$ = window.jQuery = require('jquery');
我做到了,jQuery 现在 全球可用 。
另一种方法是;
Vue.use({
install: function(Vue, options){
Vue.prototype.$jQuery = require('jquery'); // you'll have this.$jQuery anywhere in your vue project
}
});
我希望这对以后遇到同样问题的人有所帮助。如果还是想不通,请查看
编辑: 确保 运行 npm install jquery
.
#2 你忘记添加 configureWebpack 到 vue.config.js
const webpack = require('webpack')
module.exports = {
configureWebpack: {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
})
]
},
}
我按照以下步骤完成的:
首次安装jquery
npm install jquery --save-dev
在任何组件或视图中:
<script>
import jQuery from "jquery";
const $ = jQuery;
window.$ = $;
....
....
....
或如上答案,两者相同:
window.$ = window.jQuery = require("jquery");
现在您可以在页面的任何地方使用,为了全球可用性,只需按照上面所说的答案。
在vue.config.js中添加以下内容
chainWebpack: (config) => {
config
.plugin('provide')
// eslint-disable-next-line global-require
.use(require('webpack').ProvidePlugin, [{
'window.Quill': 'quill/dist/quill.js',
Quill: 'quill/dist/quill.js',
'window.jQuery': 'jquery/src/jquery.js',
jQuery: 'jquery/src/jquery.js',
}]);
},