.htaccess 未捕获的语法错误:意外标记<;在React JS中
我使用以下命令在中设置了.htaccess:.htaccess 未捕获的语法错误:意外标记<;在React JS中,.htaccess,reactjs,webpack,.htaccess,Reactjs,Webpack,我使用以下命令在中设置了.htaccess: RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d RewriteRule ^ - [L] RewriteRule ^ index.html [L] 然后,我尝试在index.js文件中设置路由。如果我的路线只是一个级别,例如 但是,如果我尝试连接到某个路由(如),则会出
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
然后,我尝试在index.js文件中设置路由。如果我的路线只是一个级别,例如
但是,如果我尝试连接到某个路由(如),则会出现以下错误:
Uncaught SyntaxError: Unexpected token < bundle.js:1
我的宝贝
{
"presets" : ["es2015", "react"]
}
我已追踪到该问题,并发现我需要从以下内容更改index.html文件中的脚本行:
<script src="js/bundle.js" type="text/javascript"></script>
为此:
<script src="/testsite/js/bundle.js" type="text/javascript"></script>
原因是在后端.htaccess确实将所有流量重定向到index.html,但浏览器中的路径没有改变。因此,当浏览器尝试加载javascript文件时,它会在/testsite/category/目录(技术上不存在)中查找它,而不是在/testsite/目录中查找它。我遇到了同样的问题。
在我的情况下,下一步可以。htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>
您是否使用Babel将其从JSX传输到常规JS?@AndrewLi,我是的。您可以在问题中包含您的.babelrc和/或网页配置吗?@FabianSchultz我已经为您添加了我的webpack.config.JS和.babelrc文件。我已经跟踪了这个问题,并在下面发布了我的答案。谢谢你们的帮助!
<script src="/testsite/js/bundle.js" type="text/javascript"></script>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>
output: {
path: argv.mode === "production" ? __dirname + '/prod' : __dirname + '/dist',
publicPath: '/',
filename: '[hash].bundle.min.js'
},