如何使用django将react.js webpack部署到heroku?

时间:2016-09-23 05:54:38

标签: javascript django reactjs heroku webpack

我有一个django后端和react.js前端以及webpack。我按照这个页面在本地设置了所有内容:http://owaislone.org/blog/webpack-plus-reactjs-and-django/并让我的开发服务器运行,所有都是桃子。对于我的生产webpack文件,我复制了与网站上完全相同的文件。

但是我想部署到heroku,这就是我被卡住的地方。我是否需要在生产中使用某种快速服务器替换我的webpack-dev-server?

我可以运行django并提供静态javascript文件吗?要生成这些文件我试过运行:“webpack webpack-config.prod.js --progress -p” 但是我得到了一堆“无法解决模块'fs'”错误,但我注意到它在assets / bundles中生成了一个900kb的js文件。

此外,如果我尝试在我的本地计算机上运行“webpack webpack-config.prod.js --progress -p”(没有开发服务器)并转到django路由,我会在我的控制台中运行:

获取http://localhost:3000/assets/bundles/main-62ddfced1c44b3270fa7.js net :: ERR_CONNECTION_REFUSED

我花了几个小时才开始工作,设置开发环境的速度要快得多。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

如果你已经使用--save-dev标志安装了任何依赖项,就像你链接到的指南那样建议那么它们将不会安装在heroku上,因为它运行npm install并设置了生产标志。因此,如果您的package.json中fs位于devDependencies下,则不会安装。

据我所知,这里有两种选择。您可以将生成的bundle置于版本控制之下,以便将其推送到heroku ,您只需使用--save标志即可安装依赖项。我个人更喜欢使用--save如果我将在heroku上发布,然后添加一个名为heroku-postbuild的package.json脚本,它运行webpack并构建包。

"scripts": {
    "heroku-postbuild": "npm run dist",
},
相关问题