Skip to content

Dotnet core library to read and use files produced by webpack manifest plugin.

Notifications You must be signed in to change notification settings

wbijker/corewebpackmanifest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Utility library and taghelper to bridge the gap between dotnet core and webpack.

You need to use the Webpack manigest plugin (https://www.npmjs.com/package/webpack-manifest-plugin) in your webpack build process.

To use this service, register the webpack manifest service and provide some options: Startup.cs

    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.UseWebpackManifest(config => {
                config.BuildDirectory = "wwwroot";
                config.DevServer = new Uri("http://localhost:8080/webpack");
                config.Manifest = "manifest.json";
                config.Usage = WebpackMode.AUTODETECT;
            });

            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            // ....
        }
    }

Register taghelpers. Either at the top of your view or in _ViewImports.cshtml:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, CoreWebpackManifest

Then in your view use the webpack tag helpers to help you with the format of the paths of your style and script sources:

<html>
<head>
    <link webpack-chunk="global" />  
</head>
<body>
    <div id="app">
    </div>

    <script webpack-chunk="vendor"></script>
    <script webpack-chunk="common"></script>
    <script webpack-chunk="app"></script>
</body>
</html>

Generated HTML if development server is reachable and running:

<html>
<head>
    <link href="http://localhost:8080/webpack/global.css" rel="stylesheet" />
</head>
<body>
    <div id="app">
    </div>

    <script src="http://localhost:8080/webpack/vendor.js"></script>
    <script src="http://localhost:8080/webpack/common.js"></script>
    <script src="http://localhost:8080/webpack/app.js"></script>
</body>
</html>

Otherwise production mode:

<html>
<head>
    <link href="/wwwroot/dist/global.12da.css" rel="stylesheet" />
</head>
<body>
    <div id="app">
    </div>

    <script src="/wwwroot/dist/vendor.8kfn.js"></script>
    <script src="/wwwroot/dist/common.nmo1js"></script>
    <script src="/wwwroot/dist/app.kk2q.js"></script>
</body>
</html>

About

Dotnet core library to read and use files produced by webpack manifest plugin.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages