Angularjs url中无散列的角度路由
我使用角种子模板为我的项目。我试图在没有散列的情况下进行路由。我在app.jsAngularjs url中无散列的角度路由,angularjs,routing,Angularjs,Routing,我使用角种子模板为我的项目。我试图在没有散列的情况下进行路由。我在app.js中添加了$locationProvider.html5Mode(true)和head部分的my index.html中,但当我刷新页面或输入url时,结果是我文件夹的索引。 我做错了什么?您的url正在被处理,就像它是一个服务器资源一样,通常使用重写或路由,将每个url提供给index.html文件(或您的默认输入) 您可以使用不同的服务器来完成,我建议使用superstaticnpm包,它为您提供url重写,而不是
中添加了$locationProvider.html5Mode(true)
和head部分的my index.html
中,但当我刷新页面或输入url时,结果是我文件夹的索引。
我做错了什么?您的url正在被处理,就像它是一个服务器资源一样,通常使用重写或路由,将每个url提供给index.html文件(或您的默认输入) 您可以使用不同的服务器来完成,我建议使用
superstatic
npm包,它为您提供url重写,而不是angularjs种子项目中的http服务器
npm install superstatic --save-dev
在应用程序的根目录上创建包含以下内容的文件superstatic.json
:
{
"cleanUrls": true,
"rewrites": [
{"source":"/**","destination":"/app/index.html"}
]
}
并覆盖文件package.json
"scripts": {
...
"start": "http-server -a localhost -p 8000 -c-1 ./app",
...
}
到
最后
npm start
您的url正在被处理,就像它是一个服务器资源一样,通常它被用于重写或路由,为index.html文件(或您的默认输入)的每个url提供服务
您可以使用不同的服务器来完成,我建议使用superstatic
npm包,它为您提供url重写,而不是angularjs种子项目中的http服务器
npm install superstatic --save-dev
在应用程序的根目录上创建包含以下内容的文件superstatic.json
:
{
"cleanUrls": true,
"rewrites": [
{"source":"/**","destination":"/app/index.html"}
]
}
并覆盖文件package.json
"scripts": {
...
"start": "http-server -a localhost -p 8000 -c-1 ./app",
...
}
到
最后
npm start
你在使用express.js吗?不,只是angular seed starter web pack你在使用express.js吗?不,只是angular seed starter web pack仍然不工作,我有这个输出dns.js:112抛出新的TypeError('无效参数:'+^TypeError:无效参数:主机名必须是字符串或Object.lookup(dns.js:112:11)在Server.listen(net.js:1399:5)的Function.listen…Ops的listenAfterLookup(net.js:1403:20)中,我的坏消息是,我忘记添加正确的主机名,改为“start”:“superstatic--config superstatic.json--port 8080--host localhost”
ok现在可以了,但我的css等文件无法访问,我在js文件中有意外的标记<我相信你可以使用“CleanURL”:true,“在配置文件上,或者您可以创建一个与主url分开的公共路径,如/public
或/static
,其中包含statics,但不要在上面浪费太多精力,这只是为了开发,在真正的服务器上它将以不同的方式运行。仍然不工作,我有这个输出dns.js:112抛出新的TypeError('Invalid arguments:'+^TypeError:Invalid arguments:主机名在Object.lookup(dns.js:112:11)在listenAfterLookup(net.js:1403:20)在Server.listen(net.js:1399:5)在Function.listen…Ops,我的错,我忘了添加正确的主机名,改为“start”:“superstatic--config superstatic.json--port 8080--host localhost”
现在可以工作了,但是我的css之类的文件无法访问,我在js文件中有意外的标记<我相信你可以使用“cleanURL”:true,”在配置文件上,或者您可以创建一个与主url分开的公共路径,如/public
或/static
,其中包含静态,但不要在上面浪费太多精力,这只是为了开发,在真正的服务器上,它将以不同的方式进行。