zuiidea / antd-admin

An excellent front-end solution for enterprise applications built upon Ant Design and UmiJS
https://antd-admin.zuiidea.com
MIT License
9.64k stars 2.52k forks source link

项目部署 #269

Closed zuiidea closed 6 years ago

zuiidea commented 7 years ago

因为项目中使用到了browserHistory,所以build之后需要部署到服务器上

nginx配置示例:

server
    {
        listen       666;
        server_name 47.92.30.98;
        root  /home/www/antd-admin/dist;

        location /api {
             proxy_pass http://localhost:8000/api;
        }

        location / {
                index  index.html;
                try_files $uri $uri/ /index.html;
        }
    }

演示地址:http://47.92.30.98:666

henryzp commented 7 years ago

@aihua ,可以查一下baseUrl。。react-router可以配置的

liaojuncong commented 7 years ago

try_files $uri $uri/ /index.html; 这配置是作用有没有说明,用来干什么的,没配置就错了。

vincentdd commented 7 years ago

打包报错了,求分析一下问题出在哪里

antd-admin@4.3.4 build D:\rep\crm roadhog build

Creating an optimized production build... Failed to compile.

Template execution failed: TypeError: Cannot read property 'Symbol(Symbol.iterat or)' of null

TypeError: Cannot read property 'Symbol(Symbol.iterator)' of null

jzoe commented 7 years ago

@aihua 问题解决了吗?能否贴一下你的解决方案?

jzoe commented 7 years ago

@zuiidea 我在项目中有些地方使用了类似下面的方法来跳转到登陆页面

    window.location = `${location.origin}/login?from=${from}`

如果我不是使用子域名http://foo.domain.com的方式来部署,而是使用 http://domain.com/foo。会导致跳转到 http://domain.com/login,而不是 http://domain.com/foo/login。请问能否在 前端代码中解决这个问题呢?

henryzp commented 7 years ago

@jzoe ,nginx配置try_files,然后你将html中的css js引用路径,用publicPath来处理一下,前端路由的URL是有一个baseUrl的

jzoe commented 7 years ago

我用的这个版本是没有 baseUrl 的,最初的版本才有! @henryzp

PoppyProject commented 7 years ago

为什么ngix 访问会这么卡啊。。。。? 加载的非常慢,直接访问node就非常快

HongChenBuZai commented 7 years ago

请问,我发布了dist文件夹中的版本,放在ng托管,但是发不同版本的时候浏览器需要清除缓存才可以,遇到过吗?

caoxingao commented 7 years ago

我的项目dva+antd使用代理请求外部接口,开发中都正常访问,打包后就无法使用代理 "proxy": { "/api": { "target": "http://test.sevw.cn/api.php", "changeOrigin": true, "pathRewrite": { "^/api" : "" } } },不知道那里出问题了,请指教一下

javahuang commented 6 years ago

@laiyiyi 随手帮帮你,可以添加一个 webpack 插件,在所有文件里面都可以引用 BASE_URL 这个全局变量

new webpack.DefinePlugin({
      BASE_URL: production ? JSON.stringify('') : JSON.stringify('http://localhost:8000/api/v1'),
    }),
javahuang commented 6 years ago

@laiyiyi 检查一下你的所有的 http 请求,比如你请求一个 index.js 结果内容返回的是 index.html,我之前出过这个问题

zhangxu003 commented 6 years ago

我build部署了 但是页面里的图片地址不对 直接public 目录 上面一层还有static的怎么回事呢

superlbr commented 6 years ago

@zhangxu003 优先保证线上图片地址正确,本地的不要管

superlbr commented 6 years ago

@HongChenBuZai 准确的说,浏览器需要刷新,很正常,因为引入的js、css变了(hash文件名啦)

dysdle commented 6 years ago

image 请问这是什么问题

superlbr commented 6 years ago

@dysdle 用yarn安装依赖,npm网络问题你懂的

dysdle commented 6 years ago

@superlbr 果然是!

mayunfang commented 6 years ago

大佬,为什么git clone 下来文件,npm i 下载依赖包的时候报错,报错如下:Unexpected end of JSON input while parsing near '...sum":"8d0649e1fcb58a5'

superlbr commented 6 years ago

@mayunfang 建议用yarn,npm网络有点问题

mayunfang commented 6 years ago

@superlbr 解决了 方法如下: 1.删掉package.lock.json(这种方法文件里没有package.lock.json就采用第二种方法) 2.清除cache npm cache clean --force 3.不用淘宝镜像

superlbr commented 6 years ago

已更新文档,请在文档中查看

gaoluona commented 5 years ago

mock中的目录,本地用代理借口访问,部署后怎么访问到

superlbr commented 5 years ago

@gaoluona 需要让mock提供接口服务,参考https://github.com/DXY-F2E/api-mocker https://github.com/nikogu/roadhog-api-doc/