• home > webfront > ECMAS > angularjs >

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

    Author:zhoulujun@live.cn Date:

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

    今天也遇到: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 路径,但是,还是建议配置为空串,相对于页面资源 请求资源。

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

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


    转载本站文章《html5页面base路径问题 webpack,nginx,打包相对路径问题》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/angularjs/2016_0218_7233.html