首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“未被捕获的ReferenceError: io没有定义”时,socket.io是通过webpack包含的

“未被捕获的ReferenceError: io没有定义”时,socket.io是通过webpack包含的
EN

Stack Overflow用户
提问于 2019-04-05 09:47:17
回答 1查看 239关注 0票数 2

我正在使用webpack4捆绑我的供应商文件。一切都很好,我在我的网页上包含了bundle.js文件。

但问题是我无法从js文件中访问socket.io。我在控制台中得到一个错误,如下所示:

main.js:276 Uncaught : io未在main.js:276中定义

这里是我的socket.io代码

代码语言:javascript
复制
var socket = io().connect();
socket.on('logout', function (data) {
    if (data.includes(userId))
        window.location.href = '/auth/signout';
});

这里是我的webpack.config.js文件

代码语言:javascript
复制
const path = require('path');
const glob = require('glob');
const webpack = require('webpack');

module.exports = {
    target: "web",
    entry: {
        page1: glob.sync('./public/js/vendor/*.js')
    },
    output: {
        path: path.resolve(__dirname, "./public/build"),
        filename: "bundle.js",
    },
    plugins: [
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: 'jquery',
            "window.jQuery": 'jquery',
        })
    ],
    module: {
        rules: [
            {test: /modernizr/, loader: 'imports-loader?this=>window!exports-loader?window.Modernizr'},
            {test: path.resolve(__dirname, './public/js/vendor/wow.min.js'), loader: 'imports-loader?this=>window!exports-loader?window.WOW'}
            ]
    },
    resolve: {
        modules: [
            path.resolve(__dirname, "./public/js/vendor")
        ]
    },
    externals: {
        jquery: 'jQuery',
        jspdf: 'jspdf',
        moment: 'moment',
        $: 'jQuery'
    },
    mode: 'development',
    devtool: 'inline-source-map',
};

我不知道怎么回事。我找了很多,但找不到任何有用的东西!

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-04-05 09:51:44

你错过了io的初始化吗?

代码语言:javascript
复制
const io = require('socket.io')(app);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55532612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档