首页 > webfront > ECMAS > angularjs > > 正文

html5页面base路径问题 webpack,nginx,打包相对路径问题

发布人:zhoulujun@live.cn    点击:

总是在口头上说“水太深”的人永远无法进入市场,鲁莽进入的人又很容易受伤。

今天也遇到:Error:[ location:nobase] $location in HTML5 mode requires a tag to be present!

对于这个问题,这篇文章提供了从angularjs 框架层面提供了解决方案

$location in HTML5 mode requires a <base> tag to be present!

1.3版本之前,不需要设置base标签。 

解决方法有2种:


1、在head里面添加base标签 

<head>
    <meta charset="UTF-8">
    <base href="/">
</head>``

2、配置$locationProvider

angular.module(“exampleApp”, []) 
.config(function(locationProvider){locationProvider.html5Mode({ 
    enable:true, 
    requireBase:false}); 
})

这里也可以解决。

但是问题不只是这些。

<base href="/">, 

<link href="/main.css" rel="stylesheet"></head>

会发现资源相对域名根目录,但是资源发在域名底下某个目录,导致资源404

 output: {

      path: __dirname + '/dist',

      publicPath: '',

      filename: '[name].[hash].js',

      chunkFilename: '[name].[hash].js'

    },

虽然我们可以在webpack输出配置 publicPath 路径,但是,还是建议配置为空串,相对于页面资源 请求资源。

这么表述的好凌乱,看来是昨晚没有睡好。

等脑袋清醒了再来聊这个话题