【问题标题】:script-loader alternative for webpack?webpack 的脚本加载器替代方案?
【发布时间】:2020-12-19 04:29:48
【问题描述】:

当使用 webpack 捆绑 web 应用程序时,我需要将一些 3rd 方脚本注册到全局(即window)命名空间中,script-loader 似乎是为此设计的Webpack - How to load non module scripts into global scope | window

但是,它有一个很大的缺点,生成的代码使用 eval.call,这不符合大多数 CSP 安全准则,因此强烈建议不要在生产中使用它。是否有任何替代的 webpack 加载器可以用来实现相同的目的而没有 XSS 漏洞?

另外,GitHub 项目https://github.com/webpack-contrib/script-loader 已经存档

【问题讨论】:

    标签: webpack webpack-loader unsafe-eval


    【解决方案1】:

    到目前为止,这看起来是最好的解决方案,但是很乏味:

    https://webpack.js.org/loaders/imports-loader/

    基本上,您需要知道每个脚本执行的副作用是什么,imports-loader 为您提供了实现它们的方法。例如,您可以将脚本包装在将this 绑定到全局window 对象的函数调用中。

    如果我们能以某种方式让脚本按顺序运行会很好,但我也看到在没有eval 的情况下在 Webpack 中这将是多么困难,这就是问题所在。

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 2012-09-14
      相关资源
      最近更新 更多