запуск Vue Cli Multi страницы на IIS - PullRequest
0 голосов
/ 22 ноября 2018

Я настроил свой проект vue на две разные страницы, используя многостраничную конфигурацию vue-cli 3, и он отлично работает в моей среде разработки (в режиме истории)

Теперь я пытаюсь развернутьприложение на IIS и не совсем работает.В документации нет ничего о том, как это настроить, и мне интересно, может ли кто-нибудь здесь помочь?

Думаю, мне нужно добавить второе правило перезаписи URL IIS для направления запросов на нужную страницуно я не могу заставить его работать.

<rule name="Go to Dashboard" stopProcessing="true">
    <match url="(.*\/bd\/?.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="/Dashboard/index.html" />
</rule>
<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>

1 Ответ

0 голосов
/ 23 ноября 2018

Думаю, я понял это.

<rule name="Go to Dashboard" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_URI}" pattern="(.*\/bd\/?.*)" negate="false" />
    </conditions>
    <action type="Rewrite" url="/Dashboard/" />
</rule>
<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" />
        <add input="{REQUEST_URI}" pattern="(.*\/bd\/?.*)" negate="true" />
    </conditions>
    <action type="Rewrite" url="/" />
</rule>

Также важно использовать отдельный шаблон в vue config с правом в заголовке

   pages: {
    index: {
      entry: 'src/Landing/main.js',
      template: 'public/index.html',
      filename: 'index.html',
      title: 'Index Page',
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    },
    dashboard: {
      entry: 'src/Dashboard/main.js',
      template: 'public/bd.html',
      filename: 'Dashboard/index.html',
      title: 'Dashboard',
      chunks: ['chunk-vendors', 'chunk-common', 'dashboard']
    },
  },
...