当本地主机具有URL段但生产服务器没有时,如何为Webpack File-loader指定publicPath

时间:2019-05-02 09:59:27

标签: webpack webpack-file-loader

我正在使用Webpack File-Loader在CSS文件中的背景图像中加载图像。我在本地环境和服务器上使用不同的URL遇到困难。

在IIS本地,我有一个名为“ platform”的网站,因此URL为http://localhost/platform

生产服务器正在使用根文件夹,因此生产上的URL为http://application-name.com,没有“平台”段。

现在,我使用一种变通方法来检查NODE_ENV并添加或不添加“平台”段:

loader: 'file-loader',
options: {
    name: '[path][name].[ext]',
    publicPath: process.env.NODE_ENV === 'development' ? '/platform/' : '/'
}

这种方法不是很可靠,有人可以帮我指定一个通用的publicPath吗?

以前我是用另一种方式做的:

loader: 'file-loader',
options: {
    name: '[path][name].[ext]',
    publicPath: (url, resourcePath, context) => {
      return `../../../${url}`;
    }
}

但是现在它对我来说不再起作用,因为现在我需要在项目的不同位置启动代码,并且可以有不同级别的url:

http://application-name.com/1/2

http://application-name.com/1/2/3

0 个答案:

没有答案