javascript - Webpack 直接注入(inject) js/css 文件内容到 index.html

标签 javascript webpack webpack-2

我有这样的代码

<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 文件,并将替换的链接和脚本标签添加到此文件的内容中,有什么办法可以做到吗?

最后我写了自己的插件来满足我的需要 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('你的 css 是:', cssContent.toString());

    • 或者您可能想手动将其注入(inject)页面:

      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. Inject CSS stylesheet
  2. css-loader

关于javascript - Webpack 直接注入(inject) js/css 文件内容到 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43073673/

相关文章:

javascript沙盒模块以防止引用Window

javascript - 递归地从对象中删除空键/值对的最佳方法

javascript - 为什么 Webpack 不能解析 ‘babel-loader’ ?

Laravel Mix 和 SASS 更改字体目录

javascript - 为什么 AngularJS 指令与硬编码值一起工作但对 http 请求/响应失败?

javascript - 在更多输入字段中设置值

reactjs - React 输出目标的 StencilJS 错误 - 您可能需要额外的加载器来处理这些加载器的结果

javascript - 在 webpack 的上下文中导入模块实际上做了什么?

webpack-2 - 错误:未提供加载程序的选项/查询。 Webpack 2.2.0-rc.3

javascript - Webpack 以错误的顺序捆绑我的文件 (CommonsChunkPlugin)