5

I have code like this

<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>

and I need plugin/loader or other way to get my html file with replaced link and script tags to content of this files, is there any way to do it?

Finnaly i wrote own plugin which fit my needs include-file-webpack-plugin

3
  • 2
    I would try html-webpack-plugin. Commented Mar 28, 2017 at 15:38
  • 1
    this plugin can't do this or i can't do this using this plugin only what i want is put content of css file into html Commented Mar 28, 2017 at 15:40
  • 1
    @jagwedanfesa I guess you need to read the docs again. Commented Mar 28, 2017 at 23:38

1 Answer 1

5

It actually can be accomplish with:

  1. npm i --save-dev css-loader to-string-loader
  2. configure your webpack with

    module: [
        rules: [
          {
            test: /\.css$/,
            use: ['to-string-loader', 'css-loader']
          }
        ]
      }
    
  3. Then in your project you can access the css as string like so

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

    • Or maybe you want inject it manually to the page with:

      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);
      

Reference

  1. Inject CSS stylesheet
  2. css-loader
Sign up to request clarification or add additional context in comments.

1 Comment

how would you run that function from Webpack / runtime? I'm compiling ejs templates into a 1 one file webpage so cant run JS from the page.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.