gpt4 book ai didi

javascript - 通过 webpack 包含 socket.io 时获取 `Uncaught ReferenceError: io is not defined`

转载 作者:行者123 更新时间:2023-11-30 06:17:01 27 4
gpt4 key购买 nike

我正在使用 webpack4 来捆绑我的 vendor 文件。一切正常,我在我的网页上包含了 bundle.js 文件。
但问题是我无法从我的 js 文件访问 socket.io。我在控制台中收到如下错误:

main.js:276 Uncaught ReferenceError: io is not defined at main.js:276


这是我的 socket.io 代码

var socket = io().connect();
socket.on('logout', function (data) {
if (data.includes(userId))
window.location.href = '/auth/signout';
});

这是我的 webpack.config.js 文件

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',
};

我不知道我在做什么。我搜索了很多但没有找到任何有用的东西!
谢谢

最佳答案

您是否缺少 io 的初始化?

const io = require('socket.io')(app);

关于javascript - 通过 webpack 包含 socket.io 时获取 `Uncaught ReferenceError: io is not defined`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com