[译]webpack官网文档 :指南 -- 22.公共路径

原创翻译,转载请注明出处。

原文地址:https://webpack.js.org/guides/public-path/

 

Webpack有个非常有用的配置,可以为为你应用里的所有资源指定一个基本路径。它被称为公共路径。

 

用例

有几个在实际应用中这个特性用的很灵巧的例子。

 

在编译时设定值

在开发模式下我们通常在index页同级别的路径下有一个assets/文件夹。这很好,但是假设你想在产品环境中把所有的静态资源文件都放在CND上呢?

你可以使用一个很好的老的环境变量就可以很容易的解决这个问题。我们有一个变量叫作ASSET_PATH

import webpack from'webpack';
 
// Whatever comes as an environment variable, otherwise use root
const ASSET_PATH = process.env.ASSET_PATH ||'/';
 
exportdefault{
  output:{
    publicPath: ASSET_PATH
  },
 
  plugins:[
    // This makes it possible for us to safely use env vars on our code
    newwebpack.DefinePlugin({
      'process.env.ASSET_PATH': JSON.stringify(ASSET_PATH)
    })
  ]
};

 

Set value on the fly

另一个用例是在fly中设定公共路径。你可以使用webpack导出的一个全局变量,它是__webpack_public_path__。所以在你应用的入口点,可以很简单的实现:

__webpack_public_path__ = process.env.ASSET_PATH;

 

它可以满足你的所以需求。因为我们已经在配置文件里使用了DefinePlugin,所以process.env.ASSET_PATH将一直被定义,所以我们可以安全的使用它们。

 

警告

 

注意,如果在入口文件里使用ES6的模块引入的话,__webpack_public_path__将在引入结束之后被分配。在这种情况下,我们将不得不把公共路径的分配移到特定的模块中,然后在在entry.js的顶部引入它。

 

-- End --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值