标签: webpack-dev-server

gulp和webpack-dev-server,收到错误TypeError:this.sockWrite不是函数

我正在尝试将webpack-dev-server与浏览器同步集成,使用代理选项和gulp作为任务主机...收到此错误

TypeError: this.sockWrite is not a function
  at /.../node_modules/webpack-dev-server/lib/Server.js:29:8
  at Compiler.applyPlugins (/.../node_modules/tapable/lib/Tapable.js:26:37)
  at Compiler.compile (/.../node_modules/webpack/lib/Compiler.js:390:7)
  at Watching.<anonymous> (/.../node_modules/webpack/lib/Compiler.js:46:17)
  at Compiler.next (/.../node_modules/tapable/lib/Tapable.js:67:11)
  at Compiler.invalidAsyncPlugin (/.../node_modules/webpack-dev-middleware/middleware.js:80:3)
  at Compiler.applyPluginsAsync (/.../node_modules/tapable/lib/Tapable.js:71:13)
  at Watching._go (/.../node_modules/webpack/lib/Compiler.js:44:16)
  at Watching.<anonymous> (/.../node_modules/webpack/lib/Compiler.js:36:8)
  at Compiler.readRecords (/.../node_modules/webpack/lib/Compiler.js:302:10)
  at new Watching (/.../node_modules/webpack/lib/Compiler.js:33:16)
  at Compiler.watch (/.../node_modules/webpack/lib/Compiler.js:161:17)
  at module.exports (/.../node_modules/webpack-dev-middleware/middle
Run Code Online (Sandbox Code Playgroud)

配置文件的相关部分附在下面:

gulpfile.js

var webpack = require('webpack')

webpack_dev_server(webpack(webpack_config), {
    hot: true,
    publicPath: webpack_config.output.path,
    stats: {
      color: true
    }
  }).listen(8080, 'localhost', function(err) {
    if (err) {
      throw plugins.util.PluginError('webpack-dev-server', err);
    }
  });
Run Code Online (Sandbox Code Playgroud)

和webpack.config

module.exports = {
  cache: …
Run Code Online (Sandbox Code Playgroud)

gulp webpack webpack-dev-server

2
推荐指数
1
解决办法
747
查看次数

找不到模块:错误:无法解析'file'或'directory'(在webpack中导入sass)

我的项目结构是: 在此输入图像描述

/src/styles/main.scss

@import 'materialize/sass/materialize.scss';

....
Run Code Online (Sandbox Code Playgroud)

我也试着@import './materialize/sass/materialize.scss';在这里工作.

它只在我在index.js中导入lib时才有效

/src/index.js(这有效)

import './styles/reset.css';
import './styles/main.scss';
import './styles/font-awesome/font-awesome.scss';
Run Code Online (Sandbox Code Playgroud)

webpack loader:

loaders: [
  {
    test: /\.js?/,
    exclude: [/node_modules/, /styles/],
    loaders: ['babel'],
    include: path.join(__dirname, 'src')
  },
  {
    test: /\.scss$/,
    loader: 'style!css!sass'
  },
  {
    test: /\.css$/,
    loader: "style-loader!css-loader"
  },
  {
    test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
    loader: 'url-loader?limit=10000&mimetype=application/font-woff'
  },
  {
    test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
    loader: 'file-loader'
  }
Run Code Online (Sandbox Code Playgroud)

]

但得到错误:

ERROR in ./~/css-loader!./~/sass-loader!./src/styles/main.scss
Module not found: Error: Cannot resolve 'file' or 'directory' ../fonts/roboto/Roboto-Thin.eot in E:\Project\simple-redux
-boilerplate\src\styles
 @ ./~/css-loader!./~/sass-loader!./src/styles/main.scss 6:73945-73987 6:74010-74052

ERROR …
Run Code Online (Sandbox Code Playgroud)

css import sass webpack webpack-dev-server

2
推荐指数
1
解决办法
4196
查看次数

webpack 不生成输出文件

我目前正在尝试使用命令set NODE_ENV=production && webpack(Window User)运行 webpack但是 src 目录中没有名称为 bundle.js 的输出,实际上没有输出文件。

到目前为止,我只使用了 webpack-dev-server,所以这是我第一次尝试使用插件构建配置文件。我试过的 webpack-dev-server 运行正常。

src 文件夹包含我的所有文件,包括 html 和 javascript。

我需要一个带有工作缩小和压缩代码的输出文件。请帮助和建议!

下面是在终端中找到的

Hash: 09ea2200290287327c75
Version: webpack 1.13.2
Time: 6976ms
    Asset     Size  Chunks             Chunk Names
bundle.js  3.48 MB       0  [emitted]  main
   [0] multi main 28 bytes {0} [built]
   [1] ./src/index.js 2.73 kB {0} [built]
    + 12 hidden modules
Run Code Online (Sandbox Code Playgroud)

我确实有一个具有以下配置的 webpack.config.js 文件。

const path = require('path');
const webpack = require('webpack');
const debug = process.env.NODE_ENV !== "production";

module.exports = {
  entry: [ …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs webpack webpack-dev-server html-webpack-plugin

2
推荐指数
1
解决办法
2407
查看次数

webpack-dev-server 动态端口

是否可以为 webpack-dev-server 找到一个未使用的端口?我当前的配置看起来像:

devServer: {
    historyApiFallback: true,
    inline: true,
    host: '0.0.0.0',
    port: 3000,
    contentBase: helpers.root('public'),
    stats: 'minimal'
}
Run Code Online (Sandbox Code Playgroud)

javascript webpack webpack-dev-server

2
推荐指数
1
解决办法
2235
查看次数

节点构建命令不起作用

我正在package.json文件中使用此配置来运行webpack开发服务器。我也想使用构建命令,但是它对我不起作用

{
  "name": "Demo",
  "version": "1.0.0",
  "description": "Demo App",
  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --hot",
    "build": "webpack --watch"
},
Run Code Online (Sandbox Code Playgroud)

npm start 命令工作正常,但构建不是

javascript node.js webpack webpack-dev-server

2
推荐指数
1
解决办法
2752
查看次数

使用Node.js API时,在webpack-dev-server中实时重新加载

如果我设置一个非常简单的webpack项目并安装webpack-dev-server,当我从命令行或通过npm脚本运行"webpack-dev-server --open"时,默认情况下会重新加载.即只要我编辑源文件,就会重建捆绑包并自动重新加载浏览器.

但是,如果我使用Node API来启动webpack-dev-server,请使用以下代码:

const WebpackDevServer = require('webpack-dev-server');
const webpack = require('webpack');
const webpackConfig = require('../webpack.config.dev');
const open = require('open');

const port = 3000;

let compiler = webpack(webpackConfig);
let server = new WebpackDevServer(compiler, {
  contentBase: "./src",
});

server.listen(port, "localhost", function(err) {
  if(err){
      console.log(err);
  }
  else{
      open('http://localhost:' + port);
  }
});
Run Code Online (Sandbox Code Playgroud)

我放松了实时重装.当我更改源文件时,我可以看到webpack从命令行输出重建包,但浏览器不会刷新.

请注意,在我的情况下,不需要热模块重新加载,实际上是不可取的.我只是希望页面在使用webpack-dev-server CLI时完全按照默认情况进行刷新.

webpack webpack-dev-server

2
推荐指数
1
解决办法
1625
查看次数

当我尝试导入mongoose模型时,Webpack将无法编译

我正在尝试使用MongoDB创建一个简单的React博客应用程序来存储帖子,但是当我尝试将Mongoose模型导入我的NewPost组件时,webpack将无法编译.

以下是错误:

WARNING in ./node_modules/mongoose/lib/drivers/index.js
10:13-49 Critical dependency: the request of a dependency is an expression

WARNING in ./node_modules/require_optional/index.js
82:18-42 Critical dependency: the request of a dependency is an expression

WARNING in ./node_modules/require_optional/index.js
90:20-44 Critical dependency: the request of a dependency is an expression

WARNING in ./node_modules/require_optional/index.js
97:35-67 Critical dependency: the request of a dependency is an expression

ERROR in ./node_modules/mongodb/lib/gridfs/grid_store.js
Module not found: Error: Can't resolve 'fs' in 'D:\mydocs\webdev\gitprojs\ReactBlogFinal\node_modules\mongodb\lib\gridfs'
 @ ./node_modules/mongodb/lib/gridfs/grid_store.js 42:7-20
 @ ./node_modules/mongodb/index.js
 @ ./node_modules/mongoose/lib/drivers/node-mongodb-native/binary.js
 @ ./node_modules/mongoose/lib/drivers/node-mongodb-native/index.js
 @ …
Run Code Online (Sandbox Code Playgroud)

mongoose reactjs webpack webpack-dev-server

2
推荐指数
1
解决办法
1907
查看次数

如何在webpack中使用多个配置文件?

我正在构建一个webpack自动化工作流。我完成了开发服务器。我所有的开发配置都在webpack.config.js文件中。

然后,我package.json通过将其添加到脚本中'dev':'webpack-dev-server'

一个人如何在单独的文件中进行生产配置?

webpack webpack-dev-server webpack-4

2
推荐指数
3
解决办法
4473
查看次数

Webpack 4:WOFF,WOFF2,SVG加载失败

./node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff中的错误1:4模块解析失败:意外字符''(1:4)您可能需要适当的加载程序来处理此文件类型。(此二进制文件省略了源代码)

WOFF文件无法加载,我不知道文件加载器为何无法加载WOFF,WOFF2和SVG。

这是我的Webpack 4加载程序配置:

module: {
        rules: [
            {
                //tell webpack to use jsx-loader for all *.jsx files
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                loader: "babel-loader"
            },
            {
                test: /\.css$/,
                loader: "style-loader!css-loader"
            },
            {
                test: /\.(png|jpg|jpeg|gif|svg|woff|woff2)$/,
                exclude: /node_modules/,
                loader: "file-loader"
            },
            {
                test: /\.(eot|ttf)$/,
                loader: "file-loader",
            },
            {
                test: /\.html$/,
                exclude: /node_modules/,
                loader: 'html-loader'
            },
            {
                test: /\.scss$/,
                loaders: ["style-loader", "css-loader", "sass-loader"]
            }
        ]
    }
Run Code Online (Sandbox Code Playgroud)

请给我一个解决方案。

woff reactjs webpack webpack-dev-server woff2

2
推荐指数
2
解决办法
3486
查看次数

如何手动触发Webpack开发服务器的监视/重新加载?

我有一个相当简单的webpack设置,但有些曲折。我可以通过几种不同的方式来创建预期的行为,但是我想知道是否有更好的方法(对于Webpack,我还是很新的)。

我有一个基本的TypeScript / Scss应用程序,所有src文件都存在于src目录中。我还有一个组件库捆绑包,它是通过一个单独的构建过程(通过Node触发)动态生成的。该捆绑包也结束于src目录中(它包含一些sass变量和属于的其他一些资产src)。这是src/custom-library-bundle。我当前的Webpack设置通过将相应的捆绑文件移动到public(dist)目录CopyWebpackPlugin。我的webpack开发服务器监视更改并按预期重新加载。这一切都很漂亮。

现在为扭曲。我已经建立了一个自定义监视程序,该监视程序存在于其他地方,以监视自定义组件库包的更改。当在那里发生更改时,它将触发上述自定义构建过程。(如预期的那样)这将修改src/custom-library-bundle目录,并在填充捆绑软件时启动多个监视/重新加载。技术上可行吗?这是预期的行为,但是理想情况下,我可以告诉它等待定制安装工作“完成”,然后才触发编译/重新加载。

ew 这不是一个容易解释的人。这是一个webpack配置,希望(希望)有助于阐明:

devServer: {
  contentBase: path.join(__dirname, 'public'),
  port: 9000,
  host: '127.0.0.1',
  after: (app, server) => {
    new MyCustomWatcherForOtherThings().watch(() => {
      // invoked after the src/custom-library-bundle is done doing its thing (each time)
      // now that I know it's done, I want to trigger the normal compilation/reload
    })
  },
  watchOptions: {
    ignored: [
      /node_modules/
      // I've been experimenting …
Run Code Online (Sandbox Code Playgroud)

javascript webpack webpack-dev-server

2
推荐指数
1
解决办法
623
查看次数