具有动态公共路径的Webpack文件加载器

马修·达顿

我正在使用webpack和文件加载器来解析import/require()为url。问题是我需要一种机制,在运行时使用注入浏览器的方法来更改该url。因此,在运行时,我window.changeAssetPath(existingPath)需要为交付给用户的每个静态文件执行类似的方法我检查了文件加载器的配置,发现有一个名为的设置postTransformPublicPath所以我试图这样使用它:

module.exports = {
  module: {
    rules: [
      {
        test: /\.(png|jpg|gif)$/i,
        loader: 'file-loader',
        options: {
          postTransformPublicPath: (p) => { return window.changeAssetPath(p) },
        },
      },
    ],
  },
};

但是window在webpack构建期间未定义,因此构建失败。您知道我的问题的解决方案吗?

马修·达顿

解决的办法是对函数调用进行字符串化处理。所以这应该工作:

{
    test: /\.(png|jpg|gif)$/i,
    loader: 'file-loader',
    options: {
      postTransformPublicPath: (p) => { return "window.changeAssetPath(" + p + ")" },
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Webpack文件加载器重复的公共路径

Webpack动态公共路径?

Webpack文件加载器:重写路径

具有动态需求的Webpack异步加载

Webpack/React:内联加载器执行而不被调用(来自具有动态导入的内联加载器的意外行为)

使用 webpack 的文件加载器时,捆绑的资产似乎有错误的路径

webpack文件加载器有什么作用?

删除部分路径的webpack文件加载器

在webpack文件加载器中获取错误的输出路径

Webpack 2+:如何对具有相同扩展名的文件应用不同的加载器?

具有动态公共 IP 的网络上服务器的静态公共 IP

尽管具有文件加载器(url-loader),但图像仍无法通过Webpack加载到React app中

具有动态文件路径字符串的INDEX

Webpack-文件加载器不起作用(无法在我的HTML中动态加载SVG文件)

动态加载具有自己作用域的控制器

Uploadcare识别具有动态加载的URL的文件

使用-> webpack使用相对路径从根目录加载图像-文件加载器-Angularjs

Django:具有动态URL的侧栏:如何动态创建在路径中具有动态文件夹的URL

具有特定路径的文件浏览器

webpack文件加载器冻结

Webpack文件加载器publicPath

webpack文件加载器加载文件夹中的所有文件

webpack尝试从错误的路径加载文件

webpack动态模块加载器按需

在具有动态DNS的服务器上托管文件?

Webpack带有文件加载器/ CSS加载器的相对CSS url()

如何在程序集中创建具有动态指定文件路径的文件?

Webpack文件加载器不复制文件

webpack 文件加载器复制文件