Socket.io-client: مشكلات بناء Webpack مع 1.4.1

تم إنشاؤها على ٧ يناير ٢٠١٦  ·  57تعليقات  ·  مصدر: socketio/socket.io-client

مع 1.4.1 أرى المشكلة التالية من Webpack. الكود الخاص بي ليس لديه مشاكل مع 1.4.0

WARNING in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib
 @ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js 10:19-40

WARNING in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib
 @ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js 10:19-44

ERROR in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js
Module not found: Error: Cannot resolve module 'tls' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib
 @ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js 15:10-24

ERROR in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js
Module not found: Error: Cannot resolve module 'fs' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/lib
 @ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js 6:9-22

التعليق الأكثر فائدة

اختفت التحذيرات عندما قمت بتضمينها

import * as io from "socket.io-client";

بدلا من

import * as io from "socket.io";

لا يزال ، لدي سلوك كما في # 1088. يوجد الحد الأدنى من التطبيق الذي به خطأ في سلسلة رسائل هذه المشكلة.

_Edit: حل مشكلتي. لم يكن بسبب socket.io._

ال 57 كومينتر

+1

أوصي الآن:

  module: {
    noParse: ['ws']
  },
  externals: ['ws']

حتى نتوصل إلى حل أفضل

السبب على الأرجح هو أن الحزمة المنشورة على npm تحتوي على ملف webpack.config.js لم يكن مع <= 1.4.0. من أين يأتي هذا على أي حال؟ لا يمكنني رؤيته في الريبو.

فشل بناء Browserify أيضًا. يؤدي فرض 1.4.0 إلى إصلاح المشكلة.

لقد نشرت هذا الملف عن طريق الخطأ. كنت أجرب الابتعاد عن المتصفح.

1.4.3 خارج.

ملاحظة للنفس: يجب تعيين files بشكل صريح في package.json

لا تزال تواجه نفس المشكلات مع 1.4.3. مضيفا:

 module: {
    noParse: ['ws']
  },
  externals: ['ws']

يساعد بالرغم من ذلك.

لا يزال مكسورًا.

Levino أعتقد أنه سيتعين عليك جعل المتصفح يتجاهل / يستبعد ws ، كما هو الحال هناك

ولكن أي حل أفضل من هذا الحل سيكون موضع ترحيب حار.

أنا فقط أستخدم الإصدار "~ 1.3.7" بدلاً من "^ 1.3.7" في حزمتي في الوقت الحالي.

تم نقل هذا من الخادم إلى هذا الموضوع socket.io العميل.


كان يعمل 1.3.7 ويستخدم npm لتحديث socket.io-client إلى 1.4.3.

يستخدم التطبيق فقط socket.io-client للاتصال بخادم اللعبة (تم التحديث أيضًا إلى socket.io 1.4.3). التطوير على windows 7.

حاولت إلغاء التثبيت عبر npm وإعادة التثبيت. لم أكن أتوقع رؤية التحذيرات والأخطاء من socket.io-client و engine.io-client عند بدء التطبيق.

ألا يجب أن تكون الوحدات النمطية المفقودة جزءًا من حزمة npm؟

تحذيرات:

WARNING in ./~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-clie
nt\node_modules\ws\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js 10:19-40

WARNING in ./~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-
client\node_modules\ws\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js 10:19-44

الأخطاء:

ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js
Module not found: Error: Cannot resolve module 'tls' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-client\node
_modules\ws\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js 15:10-24

ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js
Module not found: Error: Cannot resolve module 'fs' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-client\node_
modules\ws\node_modules\options\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js 6:9-22

ADumaine هل لديك أي مشاكل مع 1.3.7؟ إذا لم يكن الأمر كذلك ، استمر في استخدامه حتى يتم حل هذا الأمر هنا.

Levino No 1.3.7 لم يكن لديه أي مشاكل. 1.4.3 يعمل بالفعل. يتصل بالخادم ويمرر البيانات ، لكنني ما زلت أتطور محليًا ولا أستخدم أشياء مثل tls. سأتركه عند 1.4.3 في الوقت الحالي وأختبر أي تحديثات أو أعود إذا لم يكن هناك أي تحديثات ونحن جاهزون للمرحلة.

نحن ننشر إصلاحًا دائمًا أكثر اليوم!

رائعة.

1.4.4 إصلاح هذا بالنسبة لي. شكرا!

1.4.4 تم إصلاحه لي أيضًا !. تم استخدام npm معlatest. تمت إعادة تشغيل الخادم ولم تكن هناك تحذيرات أو أخطاء.
شكرا!

لا تزال مشكلة بالنسبة لي ، لقد قمت بالتحديث إلى أحدث إصدار من socket.io-client و ws و webpack ، واحصل على ما يلي

WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /home/test/Projects/B_Components/node_modules/ws/lib
 @ ./~/ws/lib/BufferUtil.js 10:19-40

WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /home/test/Projects/B_Components/node_modules/ws/lib
 @ ./~/ws/lib/Validation.js 10:19-44

WARNING in ./~/mymodule-services/~/sails.io.js/~/request/lib/optional.js
Critical dependencies:
3:11-26 the request of a dependency is an expression
 @ ./~/mymodule-services/~/sails.io.js/~/request/lib/optional.js 3:11-26
webpack: bundle is now VALID.

mrvini ما هي خطوات التكاثر من فضلك؟ لدي ما يلي مع المقبس. [email protected] :

damien<strong i="8">@home</strong>:~/git/socket.io-client$ webpack . bundle.js
Hash: 321bb2158ab30d957364
Version: webpack 1.12.11
Time: 685ms
    Asset    Size  Chunks             Chunk Names
bundle.js  195 kB       0  [emitted]  main
   [0] ./lib/index.js 1.66 kB {0} [built]
   [1] ./lib/url.js 1.61 kB {0} [built]
  [14] ./lib/manager.js 12 kB {0} [built]
  [43] ./lib/socket.js 7.54 kB {0} [built]
  [46] ./lib/on.js 370 bytes {0} [built]
    + 46 hidden modules

globexdesignsADumaine: القلب:

darrachequesne ، لدي الإعداد التالي
العقدة: v4.2.3

لدي الوحدة المحلية الخاصة بي التي تستخدم مكتبات sails.io.js و socket.io-client
sails.io.js: 0.12.2
socket.io- العميل: 1.4.4
أقوم بتضمين هذه الوحدة في التطبيق وتشغيل خادم webpack
حزمة الويب: 1.12.11
خادم webpack-dev: 1.14.1

عندما أقوم بتشغيل webpack .bundle.js ، يبدو كل شيء جيدًا ، ولكن عندما أحاول تشغيله كخادم webpack dev ، فإنه يلقي بالخطأ الذي ذكرته أعلاه

mrvini أنا آسف ، يبدو أنني غير قادر على التكاثر:

damien<strong i="7">@home</strong>:~/test$ npm install [email protected]
[email protected] node_modules/socket.io-client
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
damien<strong i="8">@home</strong>:~/test$ webpack-dev-server --port 9000
Hash: 396f0bfb9d565b6f60f0
Version: webpack 1.12.11
Time: 19ms
webpack: bundle is now VALID.
http://localhost:9000/webpack-dev-server/
webpack result is served from /
content is served from /home/damien/test

image

نسيت شيئا ما هنا؟

أوه! يبدو أن [email protected] يعتمد على [email protected] : ابتسامة عريضة: https://github.com/balderdashy/sails.io.js/blob/master/dependencies/socket.io.min.js# L1

ومن هنا جاءت القضية.

شكرًا darrachequesne للنظر في الأمر ، أنت على حق ، يعتمد sails.io.js على socket.io-client ، ولكن فقط كاعتمادات مطورة أعتقد (يعتمد في الغالب على الطلب الذي ينتج المشكلة الرئيسية لسبب ما).

Critical dependencies:
3:11-26 the request of a dependency is an expression
 @ ./~/mymodule-services/~/sails.io.js/~/request/lib/optional.js 3:11-26

لمعلوماتك ، الشيء الغريب هو أنه مع الإصدار 0.8.1 من WS ، يبدو أنه يعمل

يعمل مرة أخرى أيضًا ، شكرًا!

نفس الشيء هنا ... في عداد المفقودين العديد من التبعيات ...

ERROR in ./~/sails.io.js/~/request/request.js
Module not foun @ ./~/sails.io.js/~/request/request.js 30:10-24

ERROR in ./~/sails.io.js/~/request/~/forever-agent/index.js
Module not found
 @ ./~/sails.io.js/~/request/~/forever-agent/index.js 6:10-24

ERROR in ./~/sails.io.js/~/request/~/forever-agent/index.js
Module not found: Error
 @ ./~/sails.io.js/~/request/~/forever-agent/index.js 7:10-24

ERROR in ./~/sails.io.js/~/request/~/mime/mime.js
Module not found
 @ ./~/sails.io.js/~/request/~/mime/mime.js 2:9-22

ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js
Module not found
 @ ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js 15:10-24

ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js
Module not found
 @ ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js 6:9-22

ما زلت أرى هذا:

[0] WARNING in ./~/sails.io.js/~/request/lib/optional.js
[0] Critical dependencies:
[0] 3:11-26 the request of a dependency is an expression
[0]  @ ./~/sails.io.js/~/request/lib/optional.js 3:11-26

الحزم:

    "sails.io.js": "^0.13.3",
    "socket.io": "^1.4.4",
    "socket.io-client": "^1.4.4",

لقد جربت تكوين حزمة الويب هذا أيضًا:

 module: {
    noParse: ['ws']
  },
  externals: ['ws']

+1

+1

+1

ال:

module: {
  ....
    noParse: ['ws']
  },
  externals: ['ws']

لا يبدو أنه يصلح. الآن وحدة ws غير محددة.

webpack version : 1.13.0
socket.io-client version : 1.4.4

لدي أيضًا مشاكل منذ الإصدار 1.4.x
نموذج مشروعي هو تطبيق TODO بسيط بالإصدارات التالية:

  • NodeJS v5.8.0 ،
  • NPM v3.7.3 ،
  • إعادة التفكير في إصدار DB v2.3.2 ،
  • إعادة التفكير في DBDash v2.2.18 ،
  • أحدث إصدار بيتا من Aurelia ،
  • Socket.io v1.4.6 ،
  • Socket.io-client v1.4.6 ،
  • ws v1.1.0

تهيئة Webpack

  module: {
    noParse: ['ws']
  },
  node: {
    tls: "empty"
  },
  externals: ['fs','ws']

يساعد في إزالة بعض الأخطاء والتحذيرات ولكن ما زلت أتلقى التحذير والأخطاء التالية.

WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/socket.io-client/socket.io.js 1:475-482

ERROR in ./~/socket.io-client/package.json
Module parse failed: C:\test\client\node_modules\socket.io-client\package.json Unexpected token (2:9)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:9)
    at Parser.pp.raise (C:\test\client\node_modules\acorn\dist\acorn.js:920:13)
    at Parser.pp.unexpected (C:\test\client\node_modules\acorn\dist\acorn.js:1483:8)
    at Parser.pp.semicolon (C:\test\client\node_modules\acorn\dist\acorn.js:1462:73)
    at Parser.pp.parseExpressionStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1976:8)
    at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1754:188)
    at Parser.pp.parseBlock (C:\test\client\node_modules\acorn\dist\acorn.js:1991:21)
    at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1735:19)
    at Parser.pp.parseTopLevel (C:\test\client\node_modules\acorn\dist\acorn.js:1648:21)
    at Parser.parse (C:\test\client\node_modules\acorn\dist\acorn.js:1616:17)
    at Object.parse (C:\test\client\node_modules\acorn\dist\acorn.js:882:44)
 @ ./~/socket.io/lib/index.js 10:20-55

ERROR in ./~/accepts/~/mime-db/db.json
Module parse failed: C:\test\client\node_modules\accepts\node_modules\mime-db\db.json Unexpected token (2:40)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:40)
    at Parser.pp.raise (C:\test\client\node_modules\acorn\dist\acorn.js:920:13)
    at Parser.pp.unexpected (C:\test\client\node_modules\acorn\dist\acorn.js:1483:8)
    at Parser.pp.semicolon (C:\test\client\node_modules\acorn\dist\acorn.js:1462:73)
    at Parser.pp.parseExpressionStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1976:8)
    at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1754:188)
    at Parser.pp.parseBlock (C:\test\client\node_modules\acorn\dist\acorn.js:1991:21)
    at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1735:19)
    at Parser.pp.parseTopLevel (C:\test\client\node_modules\acorn\dist\acorn.js:1648:21)
    at Parser.parse (C:\test\client\node_modules\acorn\dist\acorn.js:1616:17)
    at Object.parse (C:\test\client\node_modules\acorn\dist\acorn.js:882:44)
 @ ./~/accepts/~/mime-db/index.js 11:17-37

ولكن حتى مع ظهور الأخطاء ، لا يزال المشروع والمقبس يعملان على النحو المنشود مع متصفحات متعددة.

تمت أيضًا إضافة نموذج Github TODO إذا أراد أي شخص إعادة إنتاج الأخطاء.

أواجه نفس المشكلة مع 1.4.6. وتلقي نفس الأخطاء مثلghiscoding. لقد أضفت noParse و externals كما هو موضح أعلاه في سلسلة المحادثات. لدي تطبيق بسيط للغاية قد يكون مفيدًا في تصحيح الأخطاء.

التبعيات الوحيدة للتطبيق المنشور هي:

"socket.io": "^1.4.6",
"socket.io-client": "^1.4.6"

لإعادة إنتاج الأخطاء ، قم بتنزيل الريبو ، قم بتشغيل npm install ثم قم بتشغيل npm prepublish

dbslone شكرا لك. يجب أن يكون لدينا أيضًا اختبار في CI يبني المشروع باستخدام حزمة الويب لتجنب المشكلات في المستقبل أيضًا.

نفس التحذيرات على Socket.IO 1.4.6 و webpack 1.13.0.

WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/socket.io-client/socket.io.js 1:475-482

WARNING in ./~/express/lib/view.js
Critical dependencies:
78:29-56 the request of a dependency is an expression
 @ ./~/express/lib/view.js 78:29-56

WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /home/rbozan/Git/mooiboymmo/server/node_modules/ws/lib
 @ ./~/ws/lib/BufferUtil.js 10:19-40

WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /home/rbozan/Git/mooiboymmo/server/node_modules/ws/lib
 @ ./~/ws/lib/Validation.js 10:19-44
var webpack = require("webpack");

module.exports = {
    output: {
        filename: "server.min.js"
    },

    target: "node",

    module: {
        loaders: [
            { test: /\.json$/, loader: "json-loader" }
        ]
    }
};

هل يوجد حاليا حل لهذا؟ لقد حاولت إضافة noParse و externals ولكن ما زلت أرى الأخطاء أعلاه مباشرة. باستخدام socket.io 1.4.6 ، webpack 1.13.1

يبدو أن import io from 'socket.io-client/socket.io' مناسب لي (على عكس import io from 'socket.io' )

ما زلت احصل على

WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.

لكنها على الاقل تعمل

WestleyArgentum كنت

يتم عرض بناء مستقل من socket.io-client تلقائيًا بواسطة خادم socket.io كـ /socket.io/socket.io.js.

لقد أضفت <script type="text/javascript" charset="utf-8" src="/socket.io/socket.io.js"></script> إلى رأس html و doc وعرّضت io كعنصر عام ، لذلك لا داعي للاستيراد.

مقبس IO: 1.4.6
حزمة الويب: 1.13.0
تحتوي حزمة Webpack على "عقدة" كهدف في ملف config.

WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/socket.io-client/socket.io.js 1:475-482

WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in C:\maestro\frontend\node_modules\ws\lib
 @ ./~/ws/lib/BufferUtil.js 10:19-40

WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in C:\maestro\frontend\node_modules\ws\lib
 @ ./~/ws/lib/Validation.js 10:19-44

نفس المشكلة تمامًا مثل omerts هنا ... هل توصل أي شخص إلى حل؟

يبدو هذا مرتبطًا بشكل غامض بالطلب / الطلب / المشكلات / 1529

الحصول على هذا أيضًا مع كل من حزم websocket و ws .

نفس الشيء ، الحصول على هذا الخطأ باستخدام ws

المقبس. IO: 1.7.3
حزمة الويب: 2.2.1
لم يتم العثور على الوحدة النمطية: خطأ: لا يمكن حل "socket.io-client / package"

zweifisch ، قم بتضمين محمل json في التكوين الخاص بك لحل مشكلتك.

لا يزال لدي "تحذير في ./~/engine.io/lib/server.js التبعية الحرجة: طلب التبعية هو تعبير" وأخرى مشابهة لتلك الواردة من الأشخاص أعلاه.

أنا استخدم Angular2. ربما سيساعد التكوين:

const path = require('path');
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
const ProvidePlugin = require('webpack/lib/ProvidePlugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const autoprefixer = require('autoprefixer');
const postcssUrl = require('postcss-url');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

const { NoEmitOnErrorsPlugin, LoaderOptionsPlugin, WatchIgnorePlugin } = require('webpack');
const { BaseHrefWebpackPlugin } = require('@angular/cli/plugins/webpack');
const { CommonsChunkPlugin } = require('webpack').optimize;
const { AotPlugin } = require('@ngtools/webpack');

const nodeModules = path.join(process.cwd(), 'node_modules');
const entryPoints = ["inline","polyfills","sw-register","styles","vendor","main"];
const baseHref = undefined;
const deployUrl = undefined;

module.exports = {
  "devtool": "source-map",
  "resolve": {
    "extensions": [
      ".ts",
      ".js",
      ".json"
    ],
    "modules": [
      "./node_modules"
    ],
    "alias": {
      "config": "config/config.dev.js"
    }
  },
  "resolveLoader": {
    "modules": [
      "./node_modules"
    ]
  },
  "entry": {
    "main": [
      "./app/main.ts"
    ],
    "polyfills": [
      "./app/polyfills.ts"
    ],
    "styles": [
      "./dist/style.dev.css"
    ]
  },
  "output": {
    "path": path.join(process.cwd(), "dist/dev"),
    "filename": "[name].bundle.js",
    "sourceMapFilename": "[name].bundle.js.map",
    "chunkFilename": "[id].chunk.js"
  },
  "module": {
    "rules": [
      {
        "enforce": "pre",
        "test": /\.js$/,
        "loader": "source-map-loader",
        "exclude": [
          /\/node_modules\//
        ]
      },
      {
        "test": /\.json$/,
        "loader": "json-loader"
      },
      {
        "test": /\.html$/,
        "loader": "raw-loader"
      },
      {
        "test": /\.(eot|svg)$/,
        "loader": "file-loader?name=[name].[hash:20].[ext]"
      },
      {
        "test": /\.(jpg|png|gif|otf|ttf|woff|woff2|cur|ani)$/,
        "loader": "url-loader?name=[name].[hash:20].[ext]&limit=10000"
      },
      {
        "exclude": [
          path.join(process.cwd(), "dist/style.dev.css")
        ],
        "test": /\.css$/,
        "loaders": [
          "exports-loader?module.exports.toString()",
          "css-loader?{\"sourceMap\":true,\"importLoaders\":1}",
          "postcss-loader"
        ]
      },
      {
        "exclude": [
          path.join(process.cwd(), "dist/style.dev.css")
        ],
        "test": /\.less$/,
        "loaders": [
          "exports-loader?module.exports.toString()",
          "css-loader?{\"sourceMap\":true,\"importLoaders\":1}",
          "postcss-loader",
          "less-loader"
        ]
      },
      {
        "include": [
          path.join(process.cwd(), "dist/style.dev.css")
        ],
        "test": /\.css$/,
        "loaders": ExtractTextPlugin.extract({
          "use": [
            "css-loader?{\"sourceMap\":false,\"importLoaders\":1}", // Don't make sourceMap true, because it will break fonts loading
            "postcss-loader"
          ],
          "fallback": "style-loader",
          "publicPath": ""
        })
      },
      {
        "include": [
          path.join(process.cwd(), "dist/style.dev.css")
        ],
        "test": /\.less$/,
        "loaders": ExtractTextPlugin.extract({
          "use": [
            "css-loader?{\"sourceMap\":false,\"importLoaders\":1}", // Don't make sourceMap true, because it will break fonts loading
            "postcss-loader",
            "less-loader"
          ],
          "fallback": "style-loader",
          "publicPath": ""
        })
      },
      {
        "test": /\.ts$/,
        "loader": "@ngtools/webpack"
      }
    ],
    /*noParse: [
        /\/ws\//,
        /socket\.io\/lib\/index\.js/
    ]*/
  },
  "plugins": [
    new NoEmitOnErrorsPlugin(),
    new ProgressPlugin(),
    new ProvidePlugin({
        $:"jquery",
        jQuery:"jquery"
    }),
    new HtmlWebpackPlugin({
      "template": "./index.html",
      "filename": "./index.html",
      "hash": false,
      "inject": true,
      "compile": true,
      "favicon": false,
      "minify": false,
      "cache": true,
      "showErrors": true,
      "chunks": "all",
      "excludeChunks": [],
      "title": "Webpack App",
      "xhtml": true,
      "chunksSortMode": function sort(left, right) {
        let leftIndex = entryPoints.indexOf(left.names[0]);
        let rightindex = entryPoints.indexOf(right.names[0]);
        if (leftIndex > rightindex) {
            return 1;
        }
        else if (leftIndex < rightindex) {
            return -1;
        }
        else {
            return 0;
        }
    }
    }),
    new BaseHrefWebpackPlugin({}),
    new CommonsChunkPlugin({
      "name": "inline",
      "minChunks": null
    }),
    new CommonsChunkPlugin({
      "name": "vendor",
      "minChunks": (module) => module.resource && module.resource.startsWith(nodeModules),
      "chunks": [
        "main"
      ]
    }),
    new ExtractTextPlugin({
      "filename": "[name].bundle.css",
      "disable": true
    }),
    new LoaderOptionsPlugin({
      "sourceMap": true,
      "options": {
        "postcss": [
          autoprefixer(),
          postcssUrl({"url": (URL) => {
            // Only convert absolute URLs, which CSS-Loader won't process into require().
            if (!URL.startsWith('/')) {
                return URL;
            }
            // Join together base-href, deploy-url and the original URL.
            // Also dedupe multiple slashes into single ones.
            return `/${baseHref || ''}/${deployUrl || ''}/${URL}`.replace(/\/\/+/g, '/');
        }})
        ],
        "lessLoader": {
          "sourceMap": true
        },
        "context": ""
      }
    }),
    new AotPlugin({
      "mainPath": "app/main.ts",
      "hostReplacementPaths": {},
      "exclude": [],
      "tsConfigPath": "tsconfig.json",
      "skipCodeGeneration": true
    }),
    new BundleAnalyzerPlugin({
      analyzerMode: "static",
      openAnalyzer: false,
      reportFilename: 'analyzer/report.html',
    }),
    new WatchIgnorePlugin([
      path.resolve(__dirname, './dist/dev/analyzer'),
      path.resolve(__dirname, './node_modules'),
    ])
  ],
  "node": {
    "fs": "empty",
    "global": true,
    "crypto": "empty",
    "tls": "empty",
    "net": "empty",
    "process": true,
    "module": false,
    "clearImmediate": false,
    "setImmediate": false
  }
};

اختفت التحذيرات عندما قمت بتضمينها

import * as io from "socket.io-client";

بدلا من

import * as io from "socket.io";

لا يزال ، لدي سلوك كما في # 1088. يوجد الحد الأدنى من التطبيق الذي به خطأ في سلسلة رسائل هذه المشكلة.

_Edit: حل مشكلتي. لم يكن بسبب socket.io._

metamaker شكرا جزيلا: +1:

أتلقى الخطأ التالي مع socket.io و webpack الأحدث

Module not found: Error: Can't resolve 'socket.io-client/package' in 'xxx/server2/node_modules/socket.io/lib'
لا بد لي من تغيير package --> package.json في الملف المصدر socket.io lib / index.js لإصلاحه.

var clientVersion = require('socket.io-client/package.json').version;

webpack.config.js

let path = require('path');
const { GlobCopyWebpackPlugin } = require('@angular/cli/plugins/webpack');

module.exports = {
  devtool: false,

  resolve: {
    modules: [
      'node_modules',
      path.resolve(__dirname, 'src')
    ],
    extensions: ['.ts', '.js'],
    alias: {
      // FIXME: Module not found: Error: Can't resolve 'socket.io-client/package' in '/Developer/Work/iot/hub/server2/node_modules/socket.io/lib'
      // "socket.io-client/package": "empty-module",
      "hiredis": "empty-module",
    }
  },

  target: 'node',

  resolveLoader: {
    modules: [
      'node_modules'
    ]
  },

  entry: {
    main: './src/index',
    vendor: [
      'nest.js',
      'rxjs'
    ]
  },

  output: {
    path: path.resolve(__dirname, './dist/build'),
    filename: '[name].server.bundle.js',
    chunkFilename: "[id].server.chunk.js"
  },

  module: {
    rules: [
      { test: /\.ts$/, use: 'ts-loader' },
      { test: /\.json$/, loader: 'json-loader' },
      { test: /\.html$/, loader: 'raw-loader' },
      { test: /\.(eot|svg)$/, loader: 'file-loader?name=[name].[hash:20].[ext]' },
      { test: /\.js.map/, loader: 'raw-loader' },
    ]
  },

  "plugins": [
    new GlobCopyWebpackPlugin({
      "patterns": [
        "config",
        "data"
      ],
      "globOptions": {
        "cwd": "./",
        "dot": true,
        "ignore": "**/.gitkeep"
      }
    }),
  ]
};

يرجى الاطلاع على المثال هنا: https://github.com/socketio/socket.io/tree/master/examples/webpack-build

يجب أن تكون الصيغة الصحيحة هي import io from 'socket.io-client';

أيضًا ، يجب إصلاح الخطأ Can't resolve 'socket.io-client/package' من خلال https://github.com/socketio/socket.io/pull/2960.

امل ان يساعد! إذا لم يكن كذلك ، فالرجاء إعادة فتح مشكلة مع مثال يعيد إظهار المشكلة ، شكرًا!

تضمين التغريدة

عندما أحاول الاستيراد باستخدام

import io from 'socket.io-client'

يخبرني TS أن الوحدة لا تحتوي على تصدير افتراضي

تضمين التغريدة
أضف أنواعًا للطباعة.
npm i @types/socket.io-client

@ kdw3lch

كلا ، لا يعمل لدي بالفعل أنواع في الإصدار 1.4.29 وقمت بترقية socket.io-client من 1.7.3 إلى 2.0.3 ، ولا تزال نفس المشكلة.

ربما يكون ملف tsconfig.json الخاص بي خاطئًا ، أي أفكار؟

crebuh كان يجب أن أقرأ بعناية أكبر!
import * as io from 'socket.io-client'

أرى هذه المشكلة مع webpack ^ 2.0.0 ولا يوجد socket.io في الحزمة. عندما أركض الكارما أحصل على هذا.

لست متأكدا إلى أين تذهب من هنا تصحيح أخطاء ITO.

أدت إضافة socket.io-client إلى التبعيات في package.json إلى إصلاح المشكلة بالنسبة لي

واجهت مشكلة مماثلة عندما قمت بتسجيل الخروج من المشروع الحالي.
أقوم بتشغيل npm -i ، وتم تثبيت جميع التبعيات ، ولكن يظهر هذا الخطأ:

"لا يمكن حل 'engine.io-client'"

تم إصلاحه عن طريق تثبيت socket.io-client.

npm أنا socket.io-client

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات