From 9b45db6d209a136f78be3f70adb7d687bd2f1dc7 Mon Sep 17 00:00:00 2001 From: qiang Date: Thu, 28 Jul 2022 18:28:30 +0800 Subject: [PATCH] fix(vue-style-loader): use esm from: 8b584bd899d4adec9e7de783fe405e0a32171519, 8bc2fe3d85781ce6ba52c9fa17ea4f3424e59386 --- .../vue-cli-plugin-uni/packages/app-vue-style-loader/index.js | 3 +++ .../vue-cli-plugin-uni/packages/h5-vue-style-loader/index.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/packages/vue-cli-plugin-uni/packages/app-vue-style-loader/index.js b/packages/vue-cli-plugin-uni/packages/app-vue-style-loader/index.js index 4adcd2196..570ef3d29 100644 --- a/packages/vue-cli-plugin-uni/packages/app-vue-style-loader/index.js +++ b/packages/vue-cli-plugin-uni/packages/app-vue-style-loader/index.js @@ -36,6 +36,8 @@ module.exports.pitch = function (remainingRequest) { '', '// load the styles', 'var content = require(' + request + ');', + // get default export if list is an ES Module (CSS Loader v4+) + "if(content.__esModule) content = content.default;", // content list format is [id, css, media, sourceMap] "if(typeof content === 'string') content = [[module.id, content, '']];", 'if(content.locals) module.exports = content.locals;' @@ -66,6 +68,7 @@ module.exports.pitch = function (remainingRequest) { ' if(!content.locals) {', ' module.hot.accept(' + request + ', function() {', ' var newContent = require(' + request + ');', + ' if(newContent.__esModule) newContent = newContent.default;', " if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];", ' update(newContent);', ' });', diff --git a/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/index.js b/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/index.js index 4adcd2196..570ef3d29 100644 --- a/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/index.js +++ b/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/index.js @@ -36,6 +36,8 @@ module.exports.pitch = function (remainingRequest) { '', '// load the styles', 'var content = require(' + request + ');', + // get default export if list is an ES Module (CSS Loader v4+) + "if(content.__esModule) content = content.default;", // content list format is [id, css, media, sourceMap] "if(typeof content === 'string') content = [[module.id, content, '']];", 'if(content.locals) module.exports = content.locals;' @@ -66,6 +68,7 @@ module.exports.pitch = function (remainingRequest) { ' if(!content.locals) {', ' module.hot.accept(' + request + ', function() {', ' var newContent = require(' + request + ');', + ' if(newContent.__esModule) newContent = newContent.default;', " if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];", ' update(newContent);', ' });', -- GitLab