用webpack开发好vue.js项目后怎么发布到IIS里面

在dist目录下面生成了一些文件

dist/index.html
dist/static/js/app.2f35159c353c08b88af2.js
dist/static/js/app.2f35159c353c08b88af2.js.map
dist/static/js/manifest.5533bb333c90c238584b.js
dist/static/js/manifest.5533bb333c90c238584b.js.map
dist/static/js/vendor.c7552a5b43a540ddc0dc.js
dist/static/js/vendor.c7552a5b43a540ddc0dc.js.map

是直接把这些文件拷贝到IIS网站目录下去就行了吗

阅读 11.2k
4 个回答

IIS也是Web服务器吧,是可以这样做的。

@馮宁飞你瞅啥 你说的是使用了history mode的问题。
需要后端配置,eg:nginx

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

IIS的就不知道了,总之就是把所有不存在的路径重定向到index.html

出现了一个问题不知道楼主 解决没有,就是从主页面可以点击链接访问到子页面,但是直接访问子页面就出现下面的问题,楼主有遇到相同的问题吗?感谢分享~clipboard.png

现在的答案,build之前你不用配置啥的,直接vue-cli架的手脚即可,,,然后把list发给后台,
(因为vue-router,history的原因,要把路由重写到index.html,这也导致了api接口也会被重写到index.html)所以后台在根目录我会创建一个api目录,里面放其他东西(接口),然后把list文件拷到根目录,然后在根目录重写URL

clipboard.png

clipboard.png

原先的答案是:::: 如下
我来补充一下,因为我要放在根目下的page文件夹中,
第一步,没有build之前的配置,router里面base也要写,最后就是build,如下

clipboard.png

clipboard.png

第二步,打包后的list,也许是我还没有配置好的原因,我还要跑到index.html里面去改路径,在static前面加个page

clipboard.png
然后为了后台方便,你要新建个配置文件web.config,代码如下
<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <remove name="page" />
                <rule name="ff" patternSyntax="Wildcard">
                    <match url="*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/page/index.html" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

IIS里面显示如下,

clipboard.png

clipboard.png

最后一步,发给后台,他把dist文件里面的内容直接copy到服务器上的page,,,可是很遗憾的就是,你任何路由前面都有个page,很是郁闷,目前我还在研究中,

clipboard.png

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题