Mit 1.4.1 sehe ich das folgende Problem von Webpack. Mein Code hat keine Probleme mit 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
+1
Ich empfehle vorerst:
module: {
noParse: ['ws']
},
externals: ['ws']
bis wir eine bessere Lösung finden
Der Grund ist wahrscheinlich, dass das veröffentlichte Paket auf npm eine webpack.config.js
Datei enthält, die es mit <=1.4.0 nicht getan hat. Woher kommt das überhaupt? Ich kann es im Repo nicht sehen.
Browserify-Build schlägt auch fehl. Das Erzwingen der Verwendung von 1.4.0 behebt das Problem.
Ich habe diese Datei versehentlich veröffentlicht. Ich experimentierte damit, weg von browserify.
1.4.3
aus.
Hinweis an mich selbst: sollte files
explizit in package.json
Habe immer noch die gleichen Probleme mit 1.4.3. Hinzufügen:
module: {
noParse: ['ws']
},
externals: ['ws']
Hilft aber.
Immer noch kaputt.
@Levino Ich denke, du musst browserify dazu bringen, ws zu ignorieren/auszuschließen, wie dort
Aber jede bessere Lösung als diese Problemumgehung wird herzlich begrüßt.
Ich verwende in meinen Paketen vorerst nur die Version "~1.3.7" anstelle von "^1.3.7".
Dies wurde vom Server in diesen socket.io-client-Thread verschoben.
Läuft 1.3.7 und verwendet npm, um socket.io-client auf 1.4.3 zu aktualisieren.
Die App verwendet nur den socket.io-Client, um eine Verbindung zu einem Spieleserver herzustellen (auch aktualisiert auf socket.io 1.4.3). Entwicklung unter Windows 7.
Habe versucht über npm zu deinstallieren und neu zu installieren. Ich habe nicht erwartet, beim Starten der App Warnungen und Fehler von socket.io-client und engine.io-client zu sehen.
Sollten die fehlenden Module nicht Teil des npm-Pakets sein?
Warnungen:
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
Fehler:
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 Hatten Sie Probleme mit 1.3.7? Wenn nicht, verwenden Sie es einfach weiter, bis das Problem hier gelöst ist.
@ Levino Nr. 1.3.7 hatte keine Probleme. 1.4.3 funktioniert tatsächlich. Es verbindet sich mit dem Server und leitet Daten weiter, aber ich entwickle immer noch lokal und verwende keine Dinge wie tls. Ich belasse es vorerst bei 1.4.3 und teste alle Updates oder kehre zurück, wenn es keine gibt und wir sind bereit für die Inszenierung.
Wir veröffentlichen heute eine dauerhaftere Lösung!
Groß.
1.4.4 Behebt dies für mich. Vielen Dank!
1.4.4 hat es auch für mich behoben!. Verwendet npm mit @latest. Server neu gestartet und es gab keine Warnungen oder Fehler.
Vielen Dank!
immer noch ein problem für mich, ich habe auf den neuesten socket.io-client, ws und webpack aktualisiert und bekomme folgendes
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, was sind die Schritte zum Reproduzieren bitte? Ich habe folgendes mit Steckdose. [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
@globexdesigns @ADumaine :herz:
@darrachequesne , ich habe das folgende Setup
Knoten: v4.2.3
Ich habe mein lokales Modul, das die Bibliotheken sails.io.js und socket.io-client verwendet
Segel.io.js: 0.12.2
socket.io-client: 1.4.4
Ich füge dieses Modul in die Anwendung ein und führe den Webpack-Server aus
Webpack: 1.12.11
webpack-dev-server: 1.14.1
Wenn ich webpack .bundle.js ausführe, sieht alles gut aus, aber wenn ich versuche, es als Webpack-Entwicklungsserver auszuführen, wird der oben erwähnte Fehler ausgegeben
@mrvini Es tut mir leid, ich kann anscheinend nicht reproduzieren:
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
Übersehe ich hier etwas?
Oh! Es scheint, dass [email protected]
von [email protected]
abhängt :grins: : https://github.com/balderdashy/sails.io.js/blob/master/dependencies/socket.io.min.js# L1
Daher das Problem.
Danke @darrachequesne , dass Sie sich das angeschaut haben, richtig, sails.io.js hängt vom socket.io-Client ab, aber ich glaube nur als Dev-Abhängigkeit (meistens hängt es von der Anfrage ab, die aus irgendeinem Grund das Hauptproblem erzeugt).
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
Zu Ihrer Information, seltsam ist, dass es mit der WS-Version 0.8.1 zu funktionieren scheint
funktioniert auch wieder, danke!
Das gleiche hier ... es fehlen viele Abhängigkeiten ...
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
Ich sehe das immer noch:
[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
Pakete:
"sails.io.js": "^0.13.3",
"socket.io": "^1.4.4",
"socket.io-client": "^1.4.4",
Ich habe auch diese Webpack-Konfiguration ausprobiert:
module: {
noParse: ['ws']
},
externals: ['ws']
+1
+1
+1
Die:
module: {
....
noParse: ['ws']
},
externals: ['ws']
scheint es nicht zu beheben. Jetzt ist das ws-Modul undefiniert.
webpack version : 1.13.0
socket.io-client version : 1.4.4
Ich habe auch Probleme seit Version 1.4.x
Mein Beispielprojekt ist eine einfache TODO-App mit folgenden Versionen:
Webpack-Konfiguration
module: {
noParse: ['ws']
},
node: {
tls: "empty"
},
externals: ['fs','ws']
Es hilft beim Entfernen einiger Fehler und Warnungen, aber ich erhalte immer noch die folgenden Warnungen und Fehler.
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
Aber selbst wenn die Fehler angezeigt werden, funktionieren das Projekt und der Socket mit mehreren Browsern immer noch wie beabsichtigt.
Außerdem wurde ein Github TODO-Beispiel hinzugefügt, wenn jemand die Fehler reproduzieren möchte.
Ich habe das gleiche Problem mit 1.4.6. und erhalte die gleichen Fehler wie @ghiscoding. Ich habe die noParse
und externals
wie oben im Thread beschrieben hinzugefügt. Ich habe eine sehr einfache App , die beim Debuggen hilfreich sein kann.
Die einzigen Abhängigkeiten der veröffentlichten Anwendung sind:
"socket.io": "^1.4.6",
"socket.io-client": "^1.4.6"
Um die Fehler zu reproduzieren, laden Sie das Repo herunter, führen Sie npm install
dann npm prepublish
@dbslone danke. Wir sollten auch einen Test in CI haben, der das Projekt mit Webpack erstellt, um auch in Zukunft Probleme zu vermeiden.
Dieselben Warnungen auf 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" }
]
}
};
Gibt es dafür aktuell einen Workaround? Ich habe versucht, noParse
und externals
hinzuzufügen, aber ich sehe immer noch die Fehler oben. Verwendung von socket.io 1.4.6, Webpack 1.13.1
import io from 'socket.io-client/socket.io'
scheint für mich zu funktionieren (im Gegensatz zu import io from 'socket.io'
)
Ich bekomme immer noch
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.
aber... zumindest funktioniert es
@WestleyArgentum Ich hatte tatsächlich auch damit zu kämpfen, aber dann habe ich den Abschnitt zur Verwendung in der Read Me gelesen. Solange du das socket.io auf deinem Server verwendest, solltest du bereit sein
Ein eigenständiger Build von socket.io-client wird automatisch vom socket.io-Server als /socket.io/socket.io.js bereitgestellt.
Ich habe <script type="text/javascript" charset="utf-8" src="/socket.io/socket.io.js"></script>
zum Kopf meines HTML- und Dokuments hinzugefügt und es hat io als global angezeigt, sodass kein Import erforderlich ist.
Sockel.IO: 1.4.6
Webpack: 1.13.0
Webpack hat 'node' als Ziel in 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
Genau das gleiche Problem wie bei @omerts hier ... Hat jemand eine Lösung gefunden?
Dies scheint vage mit request/request/issues/1529 zusammenzuhängen
Dies ist auch mit den Paketen websocket
und ws
.
Dasselbe gilt für diesen Fehler mit ws
Sockel.IO: 1.7.3
Webpack: 2.2.1
Modul nicht gefunden: Fehler: 'socket.io-client/package' kann nicht aufgelöst werden
@zweifisch ,
Ich habe immer noch "WARNING in ./~/engine.io/lib/server.js Critical Dependency: Die Anforderung einer Dependency ist ein Ausdruck" und andere ähnlich denen von oben.
Ich benutze Angular2. Vielleicht hilft die Konfiguration:
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
}
};
Warnungen sind verschwunden, als ich aufgenommen habe
import * as io from "socket.io-client";
Anstatt von
import * as io from "socket.io";
Trotzdem habe ich ein Verhalten wie in #1088. Minimale App mit Fehler ist in diesem Problemthread.
_Edit: Mein Problem gelöst. Es lag nicht an socket.io._
@metamaker Vielen Dank :+1:
Ich erhalte folgende Fehlermeldung mit späterem socket.io und webpack 2
Module not found: Error: Can't resolve 'socket.io-client/package' in 'xxx/server2/node_modules/socket.io/lib'
Ich muss package --> package.json
in der Quelldatei socket.io lib/index.js ändern , um das
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"
}
}),
]
};
Bitte sehen Sie sich das Beispiel hier an: https://github.com/socketio/socket.io/tree/master/examples/webpack-build
Die richtige Syntax sollte import io from 'socket.io-client';
Außerdem sollte der Fehler Can't resolve 'socket.io-client/package'
von https://github.com/socketio/socket.io/pull/2960 behoben werden
Ich hoffe, das hilft! Wenn nicht, öffnen Sie bitte erneut ein Problem mit einem Beispiel, das das Problem reproduziert, danke!
@darrachequesne
wenn ich versuche zu importieren mit
import io from 'socket.io-client'
TS sagt mir, dass das Modul keinen Standardexport hat
@crebuh
Typen für Typoskript hinzufügen.
npm i @types/socket.io-client
@kdw3lch
nein, es funktioniert nicht Ich hatte schon Typen in Version 1.4.29 und habe den socket.io-Client von 1.7.3 auf 2.0.3 aktualisiert, immer noch das gleiche Problem.
Vielleicht ist meine tsconfig.json falsch, irgendwelche Ideen?
@crebuh Ich hätte genauer lesen sollen!
import * as io from 'socket.io-client'
Ich sehe dieses Problem mit Webpack ^2.0.0 und ohne socket.io im Paket. Wenn ich Karma laufe, bekomme ich das.
Ich bin mir nicht sicher, wo ich von hier aus zum ITO-Debugging gehen soll.
Das Hinzufügen von socket.io-client zu den Abhängigkeiten in meinem package.json hat das Problem für mich behoben
Ich hatte das ähnliche Problem, als ich ein bestehendes Projekt auscheckte.
Ich führe npm -i aus, alle Abhängigkeiten wurden installiert, aber dieser Fehler wird angezeigt:
" Kann 'engine.io-client' nicht auflösen "
Wurde durch die Installation von socket.io-client behoben.
npm und socket.io-client
Hilfreichster Kommentar
Warnungen sind verschwunden, als ich aufgenommen habe
Anstatt von
Trotzdem habe ich ein Verhalten wie in #1088. Minimale App mit Fehler ist in diesem Problemthread.
_Edit: Mein Problem gelöst. Es lag nicht an socket.io._