我正在尝试运行我们的网络应用程序的生产版本,该应用程序在我们的IIS服务器上使用缩小(生产)版本的React。我们目前可以运行开发人员版本,但在尝试运行构建版本时,我们不断收到以下错误
`index.js:1 Uncaught SyntaxError: Unexpected token <`
我认为它可能是构建文件夹中的缩小代码,所以我做了一个基本的index.js,里面只有一个警告,但它仍然失败了。我检查了文件路径,它似乎是写的,并且index.html文件似乎也是有序的。我们正在使用来自reactboilerplate.com的锅炉并运行npm run build
命令
的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>
答案 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>