index.js:1未捕获的SyntaxError:意外的令牌<

时间:2017-06-21 20:01:28

标签: javascript html node.js reactjs

我正在尝试运行我们的网络应用程序的生产版本,该应用程序在我们的IIS服务器上使用缩小(生产)版本的React。我们目前可以运行开发人员版本,但在尝试运行构建版本时,我们不断收到以下错误

`index.js:1 Uncaught SyntaxError: Unexpected token <` 

我认为它可能是构建文件夹中的缩小代码,所以我做了一个基本的index.js,里面只有一个警告,但它仍然失败了。我检查了文件路径,它似乎是写的,并且index.html文件似乎也是有序的。我们正在使用来自reactboilerplate.com的锅炉并运行npm run build命令

开发者控制台打印输出:enter image description here

的index.html:

    <!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width,initial-scale=1">
 <link rel="manifest" href="manifest.json">
 <meta name="mobile-web-app-capable" content="yes">
 <title>Timeclock</title>
</head>

<body>
 <noscript>If you're seeing this message, that means
  <strong>JavaScript has been disabled on your browser</strong>, please <strong>enable JS</strong> to make this app work.</noscript>
 <div id="app"></div>
 <script type="text/javascript" src="index.js"></script>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

检查您的网页,并在获取您实际获得的index.js文件时进行验证。我的猜测是,当您获取index.js时,您实际上会获得index.html,因此当您的浏览器尝试将index.html文件的副本作为脚本执行时,它会立即出现错误,因为&lt;不是一段javascript的有效初始字符。这是人们在配置html推送状态时遇到的常见错误配置,因此您的网络服务器可能无法正确配置为正确地提供index.js;确保在iisconfig.xml文件中设置了以下内容:

<configuration>
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="Main Rule" 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>