Webpack将js/css文件内容直接注入到index.html

2024-05-12

我有这样的代码

<html>
    <head>
        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css">
        <link href="path_to_css/some_css.css" rel="stylesheet" type="text/css">
    </head>
    <body>
        ...
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <script src="jquery/jquery.min.js"></script>
    </body>
</html>

我需要插件/加载器或其他方式来获取我的 html 文件,并将链接和脚本标记替换为该文件的内容,有什么方法可以做到吗?

最后我写了自己的插件来满足我的需求包含文件 webpack 插件 https://www.npmjs.com/package/include-file-webpack-plugin


它实际上可以通过以下方式完成:

  1. npm i --save-dev css-loader to-string-loader
  2. 配置你的 webpack

    module: [
        rules: [
          {
            test: /\.css$/,
            use: ['to-string-loader', 'css-loader']
          }
        ]
      }
    
  3. 然后在你的项目中你可以像这样访问 css 作为字符串

    const cssContent= require('path_to_css/some_css.css'); console.log('your css is: ', cssContent.toString());

    • 或者您可能想使用以下命令将其手动注入到页面中:

      const boostrap= require('bootstrap/dist/css/bootstrap.min.css');
      let style= document.createElement('style');
      style.id= 'boostrap';
      style.setAttribute('type', 'text/css');
      style.innerHTML= boostrap.toString();
      document.body.appendChild(style);
      

参考

  1. 注入 CSS 样式表 https://stackoverflow.com/questions/15505225/inject-css-stylesheet-as-string-using-javascript
  2. CSS加载器 https://github.com/webpack-contrib/css-loader
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Webpack将js/css文件内容直接注入到index.html 的相关文章

随机推荐