title: How to deploy Nuxt with IIS
body: <p>I want to deploy Nuxt in IIS i'm using IIS Node but i can't get it works...
  <a href="https://i.stack.imgur.com/0aSPe.png" rel="noreferrer">Folder</a></p>
  
  <p>I can do it work with npm run start in my server, but i have other projects like admin y api (.net) and it's using port 80 so when i'm using port 80 it's busy while in IIS it works with this structure
  <a href="https://i.stack.imgur.com/NLeRk.png" rel="noreferrer">Folder IIS</a></p>
  
  <p>this is my code in web.config</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;!--
       This configuration file is required if iisnode is used to run node processes behind
       IIS or IIS Express.  For more information, visit:
  
       https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config
  --&gt;
  
  &lt;configuration&gt;
    &lt;system.webServer&gt;
      &lt;!-- Visit http://blogs.msdn.com/b/windowsazure/archive/2013/11/14/introduction-to-websockets-on-windows-azure-web-sites.aspx for more information on WebSocket support --&gt;
      &lt;webSocket enabled="false" /&gt;
      &lt;handlers&gt;
        &lt;!-- Indicates that the server.js file is a node.js site to be handled by the iisnode module --&gt;
        &lt;add name="iisnode" path="nuxt.config.js" verb="*" modules="iisnode"/&gt;
      &lt;/handlers&gt;
      &lt;rewrite&gt;
        &lt;rules&gt;
          &lt;!-- Do not interfere with requests for node-inspector debugging --&gt;
          &lt;rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"&gt;
            &lt;match url="^nuxt.config.js\/debug[\/]?" /&gt;
          &lt;/rule&gt;
  
          &lt;!-- &lt;rule name="Redirect to https" stopProcessing="true"&gt;
            &lt;match url="(.*)"/&gt;
            &lt;conditions&gt;
              &lt;add input="{HTTPS}" pattern="Off"/&gt;
              &lt;add input="{REQUEST_METHOD}" pattern="^get$|^head$" /&gt;
            &lt;/conditions&gt;
            &lt;action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/&gt;
          &lt;/rule&gt; --&gt;
  
          &lt;!-- First we consider whether the incoming URL matches a physical file in the /public folder --&gt;
          &lt;rule name="StaticContent"&gt;
            &lt;action type="Rewrite" url="public{REQUEST_URI}"/&gt;
          &lt;/rule&gt;
  
          &lt;!-- All other URLs are mapped to the node.js site entry point --&gt;
          &lt;rule name="DynamicContent"&gt;
            &lt;conditions&gt;
              &lt;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/&gt;
            &lt;/conditions&gt;
            &lt;action type="Rewrite" url="nuxt.config.js"/&gt;
          &lt;/rule&gt;
  
        &lt;/rules&gt;
      &lt;/rewrite&gt;
  
      &lt;!-- 'bin' directory has no special meaning in node.js and apps can be placed in it --&gt;
      &lt;security&gt;
        &lt;requestFiltering&gt;
          &lt;hiddenSegments&gt;
            &lt;remove segment="bin"/&gt;
          &lt;/hiddenSegments&gt;
        &lt;/requestFiltering&gt;
      &lt;/security&gt;
  
      &lt;!-- Make sure error responses are left untouched --&gt;
      &lt;httpErrors existingResponse="PassThrough" /&gt;
  
      &lt;!--
        You can control how Node is hosted within IIS using the following options:
          * watchedFiles: semi-colon separated list of files that will be watched for changes to restart the server
          * node_env: will be propagated to node as NODE_ENV environment variable
          * debuggingEnabled - controls whether the built-in debugger is enabled
  
        See https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config for a full list of options
      --&gt;
      &lt;!--&lt;iisnode watchedFiles="web.config;*.js"/&gt;--&gt;
    &lt;/system.webServer&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>ignore nuxt.config.js before i had server.js with express but it didn't work, because i'm using ES6 and when it try to run nuxt.config got a mistake about syntax</p>