GVKun编程网logo

webpack-dev-server 支持 react-router BrowserHistory(webpack所支持的devtool)

18

在这篇文章中,我们将为您详细介绍webpack-dev-server支持react-routerBrowserHistory的内容,并且讨论关于webpack所支持的devtool的相关问题。此外,我

在这篇文章中,我们将为您详细介绍webpack-dev-server 支持 react-router BrowserHistory的内容,并且讨论关于webpack所支持的devtool的相关问题。此外,我们还会涉及一些关于3.15 使用webpack-dev-server,运行devServer时报错。 Error: Cannot find module 'webpack-cli/bin/config-y、Nginx支持 React browser router、node.js – React未定义ReferenceError?我正在使用webpack和webpack-dev-server、node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“的知识,以帮助您更全面地了解这个主题。

本文目录一览:

webpack-dev-server 支持 react-router BrowserHistory(webpack所支持的devtool)

webpack-dev-server 支持 react-router BrowserHistory(webpack所支持的devtool)

使用browserHistory 的时候,由于是新地址,webpack webpack-dev-server 无法进行导航,只能404 ,可以通过设置webpack.config.js 中的devServer,设置如下

devServer: { historyApiFallback:{ index:'src/index.html' },}

所有找不到的页面都导航到正确的页面,可以保证 react-router 的browserHistory生效

3.15 使用webpack-dev-server,运行devServer时报错。 Error: Cannot find module 'webpack-cli/bin/config-y

3.15 使用webpack-dev-server,运行devServer时报错。 Error: Cannot find module 'webpack-cli/bin/config-y

报错信息:Error: Cannot find module 'webpack-cli/bin/config-yargs'

原因:webpack-cli 升级到了 4,不能使用 webpack-dev-server 这个命令去启动了。

解决:使用 webpack serve 命令来启动。(也可以卸载 webpack-cli 4版本的,然后在指定 3.3 版本安装,使用 webpack-dev-server命令。)

Nginx支持 React browser router

Nginx支持 React browser router

修改Nginx配置文件,添加try_file配置如下,即可实现对 React browser router 的支持。

location / {
    root /var/www/mysite;
    try_files $uri /index.html;
}

但是该方式也会存在缺点,只要/index.html存在,服务端就不会响应404,即使客户端请求了实际不存在的JS/CSS/图片文件。

要使非HTML请求实际资源不存在时响应404,方法是:若请求的资源不是HTML,则放弃尝试后备文件。

location / {
    root /var/www/mysite;
    set $fallback_file /index.html;
    if ($http_accept !~ text/html) {
        set $fallback_file $uri;
    }
    try_files $uri $fallback_file;
}

要使得try_files不影响index和/与autoindex,方法是:若请求的路径是目录,则放弃尝试后备文件。

location / {
    root /var/www/mysite;
    index index.html;
    autoindex on;
    set $fallback_file /index.html;
    if ($http_accept !~ text/html) {
        set $fallback_file /null;
    }
    if ($uri ~ /$) {
        set $fallback_file $uri;
    }
    try_files $uri $fallback_file;
}

 

node.js – React未定义ReferenceError?我正在使用webpack和webpack-dev-server

node.js – React未定义ReferenceError?我正在使用webpack和webpack-dev-server

这是我的jsx:

var React = require('react');
  var ReactDOM = require('react-dom');
  ReactDOM.render(
    <h1>hello world</h1>,document.getElementById('content')
  )

我用webpack构建build / bundle.js&
我将bundle.js导入index.html

index.html的:

<!DOCTYPE html>
<html>
  <head>
  ┊ <Meta charset="utf-8">
  ┊ <Meta name="viewport" content="width=device-width">
  ┊ <title></title>
  </head>
  <body>
  ┊ <div id="content"></div>
  ┊ <script src="./build/bundle.js" type="text/javascript" charset="utf-8"></script>
  </body>
</html>

但是当我运行webpack-dev-server时,chrome控制台错误:
bundle.js:57未捕获的ReferenceError:未定义React
我确定,我已经运行了npm install react

enter image description here

我该怎么办?(-_-)ゞ゛

解决方法

你应该把它添加到你的app.js而不是.jsx中

var React = require('react');
  var ReactDOM = require('react-dom');
  ReactDOM.render(
    <h1>hello world</h1>,document.getElementById('content')
  )

JSX是一种由React组件解释的转换语言.所以,在app.js中必须有React才能让React组件解释jsx !!

node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“

node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“

我真的不知道为什么我不能让它运行…我已经完成了以下工作.

npm install -g webpack webpack-dev-server

确认两者都安装成功.

现在,当我尝试执行webpack-dev-server时,我得到以下内容:

$webpack-dev-server --inline --hot
zsh: command not found: 'webpack-dev-server'

永远不要碰到这个,因为我的所有其他npm模块在本地和全局都加载/运行正常.我已尝试将其本地安装到项目中(添加到package.json,npm install,yadda yadda ..)并收到相同的错误.

我错过了什么吗?

解决方法

根据 this answer on GitHub找到解决方案:

I was able to solve this problem on my machine. It appears to have been an issue with permissions.

I installed webpack and webpack-dev-server globally. However,even then,$webpack-dev-server resulted in command not found (as stated above).

The problem was that npm installed the global packages to /usr/local/lib/node_modules which required root permissions.

In order to avoid having to use root permissions,I changed the directory in which global packages are to be installed to a directory in $HOME. To do this,I followed this guide: 07001

I installed webpack and webpack-dev-server globally again (this time without sudo) and verified that they have been installed in my new directory.

Now,I can finally run $webpack-dev-server.

关于webpack-dev-server 支持 react-router BrowserHistorywebpack所支持的devtool的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于3.15 使用webpack-dev-server,运行devServer时报错。 Error: Cannot find module 'webpack-cli/bin/config-y、Nginx支持 React browser router、node.js – React未定义ReferenceError?我正在使用webpack和webpack-dev-server、node.js – “找不到命令的webpack-dev-server”错误:webpack-dev-server“等相关知识的信息别忘了在本站进行查找喔。

本文标签: