标签: webpack-dev-server

插入webpack-dev-server并使用Tomcat热负载React

我正在开发使用Tomcat服务器的内部生态系统,它服务于java和javascript的所有文件,但我首先通过WebPack运行javascript.

有没有办法在localhost:8080上运行Tomcat服务器时使用webpack-dev-server和hot-loader for react/css/javascript文件?

reactjs webpack webpack-dev-server

7
推荐指数
0
解决办法
1895
查看次数

无法使用Webpack进行引导工作

我正在使用a webpack-dev-server,我正在尝试包含bootstrap.

我有这个项目结构:

?? css
?   ??? bootstrap.min.css
??? js
|   ??? bootstrap.min.js
??? dist
??? index.html
??? package.json
??? server.js
??? src
?   ??? actions.js
?   ??? App.js
?   ??? components
?   ??? constants
?   ??? index.js
?   ??? reducers.js
??? webpack.config.js
Run Code Online (Sandbox Code Playgroud)

这是index.html:

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="css/bootstrap.min.css">
  </head>
  <body>
    <div id='root'></div>
    <script src="/static/bundle.js"></script>
  </body>    
</html>
Run Code Online (Sandbox Code Playgroud)

每当我运行服务器时,我都会收到类型错误:

Cannot GET /css/bootstrap.min.css
Run Code Online (Sandbox Code Playgroud)

这是webpack.config.js:

var path = require('path');
var webpack = require('webpack');

module.exports = {
  devtool: 'eval', …
Run Code Online (Sandbox Code Playgroud)

javascript twitter-bootstrap webpack webpack-dev-server webpack-style-loader

7
推荐指数
1
解决办法
1万
查看次数

React嵌套路由无法在刷新时加载

我有一个React应用程序,其导航功能由react-router我在开发中运行webpack-dev-server并启用了历史回退选项.这是我在我的定义中的路线index.js

ReactDOM.render((
  <Router history={browserHistory}>
    <Route path="/" component={App}>
      <IndexRedirect to="/intro" />
      <Route path="/intro" component={Intro} />
      <Route path="/device" component={Device} />
      <Route path="/clothing" component={Clothing} />
      <Route path="/build" component={Build}>
        <IndexRedirect to="/build/pattern" />
        <Route path="/build/pattern" component={Pattern} />
        <Route path="/build/layout" component={Layout} />
        <Route path="/build/color" component={Color} />
      </Route>
      <Route path="/capture" component={Capture} />
      <Route path="/review" component={Review} />
    </Route>
  </Router>
), document.getElementById('app'))
Run Code Online (Sandbox Code Playgroud)

当我浏览链接时,一切正常,我可以看到嵌套的路由组件嵌套在其父路由组件中,如预期的那样.例如,当我导航到/build/color我可以看到我的App组件嵌套嵌套Build组件的Color组件.

它失败的地方是我尝试在嵌套路径中点击刷新按钮.React完全无法加载,我收到以下错误

获取http:// localhost:8080/build/app.js 404(未找到)

在我的应用程序中确实没有这样的文件,但我仍然感到困惑,为什么它会自动查找此文件而不是从根重新加载路由.请注意,在页面上点击刷新/device会没有问题.

如果您需要有关我的设置的更多详细信息,请告诉我.谢谢!


解:

我的webpack设置实际上是使用 …

routing http-status-code-404 reactjs react-router webpack-dev-server

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

Webpack开发服务器缓存清除

我无法使webpack开发服务器正常工作。我认为问题在于它在内存中产生的已编译代码无法清除。我无法弄清楚哪里出了问题。

我的配置文件是:

var path = require('path');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    entry: ['babel-polyfill', './src/js/index.js'],
    output: {
        path: path.join(__dirname, 'dist'),
        publicPath: "/",
        filename: 'js/index.js'
    },
    devServer: {
        contentBase: '/dist'
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                use: ['babel-loader']
            },
            {
                test: /\.scss$/,
                use:  [ MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
            }
        ]
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: 'css/styles.css',
          }),
        new HtmlWebpackPlugin({
            inject: false,
            hash: true,
            template: './src/index.html',
            filename: 'index.html'
          })
    ]

}
Run Code Online (Sandbox Code Playgroud)

和我的脚本:

"scripts": {
    "dev": …
Run Code Online (Sandbox Code Playgroud)

webpack webpack-dev-server webpack-4

7
推荐指数
1
解决办法
3116
查看次数

Webpack URIError:无法解码参数'/%PUBLIC_URL%/favicon.ico'

webpack v4.20.2

webpack-dev-server v3.1.9

我正在使用webpack和运行React应用程序,webpack-dev-server并且遇到了有关的问题%PUBLIC_URL%

URIError: Failed to decode param '/%PUBLIC_URL%/favicon.ico'
Run Code Online (Sandbox Code Playgroud)

%PUBLIC_URL%没有被编译的index.html,所以未能获得图标

public / index.html

<head>
  <meta charset="utf-8">
  <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
  <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
</head>
Run Code Online (Sandbox Code Playgroud)

package.json脚本

"scripts": {
    "dev": "webpack-dev-server --config ./config/webpack.dev.conf.js --open",
    "build": "webpack --config ./config/webpack.prod.conf.js"
  },
Run Code Online (Sandbox Code Playgroud)

项目结构

.
??? config
?   ??? webpack.dev.conf.js
?   ??? webpack.prod.conf.js
??? public
?    ??? index.html
?    ??? favicon.ico
?    ??? manifest.json
??? src
?    ??? index.js
?     ...
??? …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack webpack-dev-server webpack-4

7
推荐指数
1
解决办法
1399
查看次数

如何通过React Lazy / Suspense代码拆分使webpack-dev-server停止在内容更改时停止下载不正确的块?

这是我的设置:

const DesktopApp = lazy(() => import(/* webpackChunkName: "DesktopApp" */'./DesktopApp'));
const MobileApp = lazy(() => import(/* webpackChunkName: "MobileApp" */'./MobileApp'));

type Props = { shouldServeMobile: boolean };

export const App = ({ shouldServeMobile }: Props): JSX.Element => (
  shouldServeMobile
    ? (
      <Suspense fallback={<AppLoading />}>
        <MobileApp />
      </Suspense>
    ) : (
      <Suspense fallback={<AppLoading />}>
        {/* GlobalDesktopStyle is injected in multiple places due to a bug where the
          theme gets reset when lazy loading via React.Lazy + webpack */}
        <GlobalDesktopStyle />
        <DesktopApp /> …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack webpack-dev-server react-hot-loader react-suspense

7
推荐指数
1
解决办法
109
查看次数

由于页面重新加载时出现暂停错误,WebSocket将关闭

我有一个调用函数来重新加载页面的按钮:

function doReload() {
 window.location='/'
}
Run Code Online (Sandbox Code Playgroud)

Safari 11中大约有5次在控制台中抛出此错误:

WebSocket connection to 'ws://localhost:8080/sockjs-node/978/yzsndro2/websocket' failed: WebSocket is closed due to suspension.
Run Code Online (Sandbox Code Playgroud)

我正在幕后运行Webpack 2 dev服务器.

在Chrome中似乎没有发生.这是High Sierra Beta所以也许是一个bug.

建议或想法?

safari websocket webpack-dev-server macos-high-sierra

6
推荐指数
1
解决办法
2927
查看次数

在Webpack中构建之前清除控制台

我正在使用webpack 3,我想知道在重建webpack之前有什么方法可以清除webpack-dev-server控制台。

webpack webpack-dev-server

6
推荐指数
1
解决办法
532
查看次数

Angular-Cli v1.6.6 Microsoft Edge浏览器的源映射设置

我正在尝试为Angular-Cli项目获取正确的设置,以便源映射在Microsoft Edge中工作.Angular-Cli v1.6.6 webpack v3.10.0

从配置中启用源地图支持,它可以在Chrome中使用,但不能在Edge中使用.在Edge中我看到如下错误:

找不到webpack:///(webpack)-dev-server/client?源地图中指定的32cc

我看到"eval code(xxx)"只链接.

从我可以google"webpack:///"不支持Edge但我无法更改Angular-Cli设置以将其更改为其他内容(或者我不明白如何).

只是执行"ng弹出"使源映射从无法工作到半工作(如何正确映射到生成的捆绑的js文件,但不是像Chrome中的非捆绑的js文件)但我仍然看到"找不到webpack:/ //"就像Edge中的消息一样.

我已经尝试编辑webpack.config.js文件来更改"devtool"设置和/或"SourceMapDevToolPlugin"参数设置.

我的测试都没有奏效.

webpack-dev-server microsoft-edge angular-cli

6
推荐指数
1
解决办法
531
查看次数

如何使Webpack热模块更换与车把模板一起使用?

我正在使用handlebars-loader:

  {
    test: /\.hbs$/,
    loader: 'handlebars-loader',
  }
Run Code Online (Sandbox Code Playgroud)

我也在使用html-webpack-plugin。

使用Webpack Dev Server,一切都能按我的意愿进行:

如果保存了对车把模板或SCSS文件的更改,则会自动重新加载页面。

但是,一旦我能hot: truedevServer,HMR开始对SCSS变化工作(即CSS地没有全部重新加载更新),这是我想要的,但如果我改变车把模板,HMR不工作,和常规的“热重载”(即重新加载整个页面)也停止工作。

有任何想法吗?

如果HMR适用于SCSS更改,并且对把手模板进行常规的“热重载”(没有,该方法已经可以使用hot: true),那也很好。

javascript handlebars.js webpack webpack-dev-server webpack-hmr

6
推荐指数
1
解决办法
100
查看次数