Skip to content

Commit 98e69d5

Browse files
committed
simplify cssModules injection
1 parent 66f2177 commit 98e69d5

File tree

2 files changed

+4
-44
lines changed

2 files changed

+4
-44
lines changed

lib/component-normalizer.js

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,10 @@ module.exports = function normalizeComponent (
2929
}
3030

3131
if (injectStyles) {
32-
var injected = false
33-
var cssModules
34-
var inject = function () {
35-
if (!injected) {
36-
injected = true
37-
cssModules = injectStyles()
38-
}
39-
// inject cssModules
40-
if (cssModules) {
41-
for (var key in cssModules) {
42-
this[key] = cssModules[key]
43-
}
44-
}
45-
}
4632
var existing = options.beforeCreate
4733
options.beforeCreate = existing
48-
? [].concat(existing, inject)
49-
: [inject]
34+
? [].concat(existing, injectStyles)
35+
: [injectStyles]
5036
}
5137

5238
// scopedId

lib/loader.js

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -281,13 +281,10 @@ module.exports = function (content) {
281281
var parts = parse(content, fileName, this.sourceMap)
282282
var hasScoped = parts.styles.some(function (s) { return s.scoped })
283283

284-
// css modules
285-
var cssModules
286-
287284
// add requires for styles
288285
if (parts.styles.length) {
289286
var styleInjectionCode = 'function __injectVueStyle__ () {\n'
290-
var hasModules = false
287+
var cssModules = {}
291288
parts.styles.forEach(function (style, i) {
292289
// require style
293290
var requireString = style.src
@@ -297,13 +294,6 @@ module.exports = function (content) {
297294
var moduleName = (style.module === true) ? '$style' : style.module
298295
// setCssModule
299296
if (moduleName) {
300-
if (!cssModules) {
301-
cssModules = {}
302-
}
303-
if (!hasModules) {
304-
hasModules = true
305-
styleInjectionCode += 'var cssModules = {}\n'
306-
}
307297
if (moduleName in cssModules) {
308298
loaderContext.emitError('CSS module name "' + moduleName + '" is not unique!')
309299
styleInjectionCode += requireString
@@ -317,15 +307,12 @@ module.exports = function (content) {
317307
requireString += '.locals'
318308
}
319309

320-
styleInjectionCode += 'cssModules["' + moduleName + '"] = ' + requireString + '\n'
310+
styleInjectionCode += 'this["' + moduleName + '"] = ' + requireString + '\n'
321311
}
322312
} else {
323313
styleInjectionCode += requireString + '\n'
324314
}
325315
})
326-
if (hasModules) {
327-
styleInjectionCode += `return cssModules`
328-
}
329316
styleInjectionCode += '}\n'
330317
output += styleInjectionCode
331318
}
@@ -449,22 +436,9 @@ module.exports = function (content) {
449436
' hotAPI.createRecord("' + moduleId + '", Component.options)\n' +
450437
' } else {\n'
451438
// update
452-
if (cssModules) {
453-
output +=
454-
' if (module.hot.data.cssModules && JSON.stringify(module.hot.data.cssModules) !== JSON.stringify(cssModules)) {\n' +
455-
' delete Component.options._Ctor\n' +
456-
' }\n'
457-
}
458439
output +=
459440
' hotAPI.reload("' + moduleId + '", Component.options)\n' +
460441
' }\n'
461-
if (cssModules) {
462-
// save cssModules
463-
output +=
464-
' module.hot.dispose(function (data) {\n' +
465-
' data.cssModules = cssModules\n' +
466-
' })\n'
467-
}
468442
output += '})()}\n'
469443
}
470444
// final export

0 commit comments

Comments
 (0)