magnificPopup 在使用 webpack 时无法正常工作

3

我可以帮助您进行翻译。以下是需要翻译的内容:

我通过“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个回答

5

我已经解决了这个问题

在app.js文件中不需要导入jQuery

修复后,app.js文件看起来像这样

import "magnific-popup";

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

});

-1

很简单,你的文件不在导入位置。请检查您的路径或文件位置/位置一次。此外,请检查您的JQuery库是否已包含,如果已包含,则应在此库文件/代码之上。


JQuery和magnificPopup文件位于导入位置(node_modules)上。此外,JQuery库已在magnificPopup插件之上包含。 - Shifut Hossain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接