magnificPopup无法使用webpack

时间:2018-05-22 07:50:41

标签: javascript jquery webpack magnific-popup

我已经通过“npm i magnific-popup”命令安装了magnificPopup,然后将其导入app.js文件中。但是在浏览器控制台中显示(magnificPopup不是函数)

app.js

import $ from "jQuery";
window.$ = window.jQuery = $;
import "magnific-popup";

$(document).ready(function() {
    $('.play-btn').magnificPopup({ type: 'video' });

});

webpack.config.js

var path = require("path");
var webpack = require('webpack');


module.exports = {
    entry: {
        app: "./app/assets/scripts/app.js",
        vendor: "./app/assets/scripts/vendor.js"
    },
    output: {
        path: path.resolve(__dirname, "./app/temp/scripts"),
        filename: "[name].js"
    },
    module: {
        rules: [{
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ["es2015"]
                    }
                }
            }

        ]
    },
    plugins: [
        new webpack.ProvidePlugin({
            '$': 'jquery',
            'jQuery': 'jquery',
            'window.jQuery': 'jquery'
        }),
    ]
}

2 个答案:

答案 0 :(得分:0)

很简单,您的文件不在导入位置。请检查您的路径或文件位置/位置一次。此外,请检查您的JQuery库,如果包含它,那么它应该在这个库文件/代码之上。

答案 1 :(得分:0)

我已经解决了问题

jQuery不需要在app.js中导入

修复app.js文件后如下所示

import "magnific-popup";

$(document).ready(function() {
    $('.play-btn').magnificPopup({ type: 'video' });

});