diff --git a/packages/@vue/cli-service/lib/commands/build/demo-lib-js.html b/packages/@vue/cli-service/lib/commands/build/demo-lib-js.html
index 078c80befd..af52086787 100644
--- a/packages/@vue/cli-service/lib/commands/build/demo-lib-js.html
+++ b/packages/@vue/cli-service/lib/commands/build/demo-lib-js.html
@@ -1,7 +1,9 @@
<%- htmlWebpackPlugin.options.libName %> demo
+<% if (htmlWebpackPlugin.options.cssExtract) { %>
+<% } %>
+<% if (htmlWebpackPlugin.options.cssExtract) { %>
+<% } %>
diff --git a/packages/@vue/cli-service/lib/commands/build/resolveLibConfig.js b/packages/@vue/cli-service/lib/commands/build/resolveLibConfig.js
index 2331f93303..56b6bca016 100644
--- a/packages/@vue/cli-service/lib/commands/build/resolveLibConfig.js
+++ b/packages/@vue/cli-service/lib/commands/build/resolveLibConfig.js
@@ -63,7 +63,8 @@ module.exports = (api, { entry, name, formats }, options) => {
template: path.resolve(__dirname, template),
inject: false,
filename: 'demo.html',
- libName
+ libName,
+ cssExtract: config.plugins.has('extract-css')
}])
}