1. 程式人生 > 實用技巧 >vue-cli中找不到jquery的原因

vue-cli中找不到jquery的原因

找不到 jQuery 了,什麼回事呢?

原來呀,以前是使用 <script> 標籤來載入 jquery 的,並且會將其掛載到全域性中,所以在執行 jquery.ztree.core.js 時能正常地獲取到 jQuery 。而在 vue 專案中,經過 webpack 打包後,在 main.js 中匯入的 $ 和 jquery.ztree.core.js 是各自處在不同的上下文環境的,自然就不能找到 jQuery 了。

如何解決?修改 webpack 配置:

build/webpack.base.conf.js

module.exports = {
    rules: [],
    node: {},
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jquery: 'jquery',
        'window.jQuery': 'jquery',
        jQuery: 'jquery'
      })
    ]
}

上面程式碼使用了 webpack 的 ProvidePlugin 外掛,這個外掛在載入某個模組時,如果遇到了未定義的並且在配置檔案中配置了的變數,比如上面程式碼看到的 $、jquery、jQuery、window.jQuery,就會自動匯入對應的依賴項,比如上面程式碼中的 jquery 模組。

同時,你也不需要再在專案中顯式地匯入 jquery 了,也就是說你可以將 main.js 中的 import $ from 'jquery' 刪掉了。

重新啟動專案,頁面沒有報錯。