如何在 IIS 上 运行 vuejs 文件

How to run vuejs files on IIS

所以我使用 vueJS 示例作为学习目的的演示,它使用 requirejs-vue 作为组件加载器。 当我 运行 VS-code 的 Live-Server 扩展(一个简单的 http 服务器)上的服务器时,它 运行 正确没有问题。 但是,当我在 windows 8.1 上的 IIS 服务器(版本 8.5)上 运行 这个示例时,它通过 404 Error app.vue 不存在。

Failed to load resource: the server responded with a status of 404 (Not Found)

并且在 Network devtool 中,我可以看到每个模块都已正确加载,除了 *.vue 文件,

VueJS 示例: https://plnkr.co/edit/Y2cEa3?preview

正在使用的 IIS Web 配置: https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

PS:我还有 运行 另一个使用 http-vue-loader 的示例requirejs-vue 和 IIS 仍然抛出相同的错误。

我们需要为“.vue”扩展文件设置mimeType才能使用httpvueloader/requiresjs_vue

此外,我们可以手动将其添加到一个Web.Config文件中,IIS可以识别该文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".vue" mimeType="application/javascript"/>
    </staticContent>
  </system.webServer>
</configuration>

如果问题仍然存在,请随时告诉我。