代码之家  ›  专栏  ›  技术社区  ›  Don P

让HTML从不同的地方加载JS文件,具体取决于环境

  •  0
  • Don P  · 技术社区  · 8 年前

    我怎么能拥有我的 index.html

    关于开发,我希望 src 文件的绝对路径: /dist/bundle.js

    在生产中,我想要 源代码 文件的相对路径: dist/bundle.js

    以下是加载文件的HTML:

    <!doctype html>
    <html>
      <head>
        <title>Sample App</title>
      </head>
      <body>
        <div id='root'>
        </div>
        <script src="/dist/bundle.js"></script>
      </body>
    </html>
    

    如果有帮助,我正在使用Webpack。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Marko Gresak    8 年前

    您已经提到正在使用webpack,我假设在开发和生产中使用了不同的配置。

    你可以试试 html-webpack-plugin 并将其设置为将脚本注入您的 index.html 文件这样,脚本将根据webpack输出设置注入HTML。您可能需要相应地调整配置。如果这不起作用 webpack-path-rewriter 似乎也是一种选择,但我还没有尝试过。

    或者您可以编写一个小脚本,根据 document.location.hostname 然后包括一个 <script> 具有正确的src路径。但这种方法似乎并不正确,而且容易改变领域。

    但我同意@Makyen让环境保持不变的观点。我认为生产版本更难更改,所以请尝试将其与您在开发中所做的任何操作相匹配。