- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习如何响应 Isomorphic App tutorial .
由于我对 React 很陌生,所以我严格遵循教程,按照描述编写每个脚本。当我使用 npm start
启动服务器时,localhost:3000
上的浏览器不会按预期呈现页面,仅显示标题,而没有输入字段和按钮添加新的待办事项。打开开发控制台,发现 bundle.js
无法加载,我真的不明白为什么。
如果我将浏览器指向 localhost:3000/home
,另一方面,它会呈现输入字段和按钮,但 bundle.js
不会已加载,并且“应用程序”不起作用(即不添加新的待办事项)。
我是 React、Webpack 和 Node 的新手,我用 google 搜索了很多,但我真的无法通过,我不知道发生了什么。 package.json
和 webpack.config
也已按照教程指示创建。
这几天我一直在用头撞墙,请减轻我的痛苦,我求你了:D
这是我的配置:
package.json
:
{
"name": "isomorphic-redux",
"version": "1.0.0",
"repository": "https://github.com/bananaoomarang/isomorphic-redux",
"description": "",
"main": "index.js",
"scripts": {
"start": "NODE_PATH=$NODE_PATH:./shared node --harmony .",
"dev": "npm run start & webpack-dev-server --progress --color",
"build": "NODE_ENV=production webpack --progress --color -p --config webpack.prod.config.js"
},
"author": "Milo Mordaunt <milomord@gmail.com>",
"license": "MIT",
"dependencies": {
"axios": "^0.7.0",
"express": "^4.13.3",
"history": "^1.9.1",
"immutable": "^3.7.5",
"object-assign": "^4.0.1",
"react": "^0.14.0",
"react-dom": "^0.14.0",
"react-redux": "^4.0.0",
"react-router": "1.0.0-rc3",
"redux": "^3.0.0",
"webpack": "^1.13.2"
},
"devDependencies": {
"babel": "latest",
"babel-eslint": "^4.1.2",
"babel-loader": "^5.3.2",
"eslint": "^1.4.3",
"eslint-plugin-react": "^3.3.2",
"react-hot-loader": "^1.3.0",
"webpack": "^1.12.1",
"webpack-dev-server": "^1.11.0"
}
}
webpack.config
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: [
'webpack-dev-server/client?http://127.0.0.1:8080/',
'webpack/hot/only-dev-server',
'./client'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js'
},
resolve: {
modulesDirectories: ['node_modules', 'shared'],
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loaders: ['react-hot', 'babel']
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
],
devtool: 'inline-source-map',
devServer: {
hot: true,
proxy: {
'*': 'http://127.0.0.1:' + (process.env.PORT || 3000)
},
host: '127.0.0.1'
}
};
项目结构如下:
client/
---index.jsx
shared/
---actions/
---components/
------...
------Home.jsx
------index.jsx
---reducers/
---routes.jsx
index.js
server.jsx
package.json
webpack.config
.babelrc
最佳答案
您正在运行两个不同的设置,它们不能立即相互了解。当你这样做时npm start
你用 index.js
启动 Node 进程文件最终提供一些引用不存在的bundle.js 文件的html。
另一方面,当您运行webpack-dev-server
时,所有捆绑的内容将仅驻留在内存中,并且永远不会写入磁盘。因此该文件将不可用于以 npm start
启动的服务器.
但是正如您在 webpack 配置中看到的,它包含一个 proxy
的部分。配置为将所有未知路径路由到端口 3000 上的后端。这是两个设置连接的地方。您需要使用 npm run dev
运行 webpack-dev-server然后打开localhost:8080
在您的浏览器中。此任务自动运行npm start
作为第一个命令(运行您的 Node 应用程序),然后启动 webpack-dev-server
。所以如果你想访问你的应用程序,你一定不能使用端口 3000
但要么转到 8080
这是 webpack-dev-server
的端口.
您收到的错误也记录在博客文章的以下位置:https://medium.com/front-end-developers/handcrafting-an-isomorphic-redux-application-with-love-40ada4468af4#4c7c
If you see a errors in the console about bundle.js not being found, Don’t Panic. This is because the client is trying to load bundle.js, but we haven’t configured Webpack’s entry point yet, so we get nothing.
稍后可以在几行中找到解决方案( https://medium.com/front-end-developers/handcrafting-an-isomorphic-redux-application-with-love-40ada4468af4#0eed ):
Now we can start our app with npm run dev (instead of npm start) and Webpack will serve our client a bundle.js, so it can do it’s own routing from here-on-out. It still won’t look very interesting, but visiting http://localhost:8080/ should work without errors.
关于javascript - localhost Node 服务器无法从webpack加载bundle.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216293/
谁能解释一下 localhost:5000 之间的区别和其他本地主机。 谢谢你。 最佳答案 localhost:5000 正在访问端口 5000 上的 localhost。 例如,如果您从浏览器访问它
假设本地 Python 脚本正在运行网络服务器。 有没有办法设置别名,以便http://localwebapp/等于 http://localhost:1234/ ? 编辑:或至少 http://lo
我对网络开发完全陌生。所以我总是看到“localhost”之类的东西并问自己:那是什么? 我感觉知道什么是“主持人”了。执行某事的东西。所以我的 Mac 是其上运行的所有内容的主机。那么“localh
我正在学习 xmpp 编程,我使用 sudo apt-get install ejabberd 在我的 ubuntu 15.10 上安装了 ejabberd,然后我通过添加管理员用户 ejabberd
是否总是可以 ping localhost 并解析为 127.0.0.1? 我知道 Windows Vista、XP、Ubuntu 和 Debian 都这样做,但每个人都这样做吗? 最佳答案 任何正确
我们在同一台计算机上使用客户端/服务器 RMI 通信(因此所有 ip 都应该是本地主机)。 我们启动注册表(使用默认端口1099) registry = LocateRegistry.createRe
我已经在 windows/system32/drivers/etc/ 中验证了我的主机文件其中有一个 localhost 的条目,但它不会去任何地方。我必须在 URL 中有一个端口号:http://1
我的主机上有一个守护程序在某个端口(即 8008)上运行,我的代码通常通过联系 localhost:8008 与守护程序交互。 我现在已经将我的代码容器化了,但还没有将守护进程容器化。如何将容器上的
在 SMTP 中,HELO 命令之后应该是什么,它有什么作用? 我在我的应用程序中发送电子邮件,我想知道我是否应该使用 localhost、发件人地址的域名 (me@example.com)、应用程序
我遇到无法打开本地主机Web应用程序的问题,因为Microsoft Edge会将URL http://localhost:3000重定向到https://localhost:3000。因此,我得到了错
一直在尝试设置我想用于登录的 Facebook 应用程序,以允许我在 Mac 的本地主机上测试它。 Facebook 抛出错误“应用程序域:http://localhost 不是有效域。”当我尝试将站
我在 MacOS 10.15 上使用 minikube 1.4.0 版和 Kubernetes 1.16.0 版。 我正在开发一些依赖于外部服务的授权/认证代码。在对服务的 API 调用中,我需要提供
当我用谷歌搜索这个问题时,我注意到这是 nginx 的一个常见问题。但是我从来没有在我的机器上使用过 nginx。我使用 MAMP,偶尔使用 Python Bottle。 现在,无论我的 MAMP/P
我在本地运行 Squid,我想通过在 localhost:3000 上运行的 Ruby 服务器通过 Squid 进行访问。 如果我尝试访问 localhost:3000,我会收到以下消息: The f
我使用 VS 2012 默认模板创建了 MVC4 移动应用程序。使用 http://localhost/mvcapplication1/ 在桌面浏览器中运行良好但是当我尝试在 WP8 Emulator
如何将默认的 xampp localhost c:xampp/htdoc 更改为另一个文件夹,即 c:/alan?当我使用 IP 地址时,我应该能够在 C:/alan 中查看我的网站文件。 感谢您帮助
我正在使用带有centos版本6(Fedora)的Vmware。我正在使用hadoop 1.0.4版本。我的 http://localhost:50070 地址显示为“无法连接”,但是 http://
我正在运行带有 apache 2.4.38 和 Maria DB 10.1.38 + PHP 7.3.3 的 Windows Server 2016 有时,我可以看到(使用 netstat)从 127
尝试通过 SSH 连接到本地主机时的调试信息 ssh root@localhost -vvv 输出 OpenSSH_6.6.1、OpenSSL 1.0.1f 2014 年 1 月 6 日debug1:
我正在使用 Node 和 Laravel 编写一个应用程序。我正在运行小型 laravel 本地服务器,该服务器解析为 http://localhost:8000 。我还在 localhost:300
我是一名优秀的程序员,十分优秀!