fex-team / fis3-postpackager-loader

静态资源前端加载器
BSD 2-Clause "Simplified" License
82 stars 38 forks source link

obtainScriptAndStyle最后处理style的部分是不是有问题. #65

Closed is closed 7 years ago

is commented 8 years ago

我在一个项目中,发生了如下的错误信息:

 [DEBUG] 19:36:11.659 TypeError: Cannot read property 'trim' of undefined
    at /Users/is/src/vis4/apps0/node_modules/fis3-postpackager-loader/lib/lang/html.js:142:29
    at RegExp.[Symbol.replace] (native)
    at String.replace (native)
    at Function.obtainScriptAndStyle (/Users/is/src/vis4/apps0/node_modules/fis3-postpackager-loader/lib/lang/html.js:94:18)
    at Function.beforePack (/Users/is/src/vis4/apps0/node_modules/fis3-postpackager-loader/lib/lang/html.js:286:21)
    at compile (/Users/is/src/vis4/apps0/node_modules/fis3-postpackager-loader/index.js:95:39)
    at /Users/is/src/vis4/apps0/node_modules/fis3-postpackager-loader/index.js:52:5
    at Array.forEach (native)
    at rudePackager (/Users/is/src/vis4/apps0/node_modules/fis3-postpackager-loader/index.js:49:22)
    at cb (/is/node/node-v6.2.2-darwin-x64/lib/node_modules/fis3/lib/release.js:188:5)

仔细查看了一下代码,觉得html.js中的obtainScriptAndStyle, L39这里的判断,应该是使用sbody才符合逻辑.

确实不太熟悉,rLinkScript这个正则也完全看不懂,比较疑惑之前的一个fis3项目,就没有这个错误,就不贸然提交merge request了.

is commented 8 years ago

另外一个项目,使用的是fis3-postpackage-loader, version: 2.0.2就没有这个问题。

我看了一下这个版本的代码,确认是合并obtainScript/obtainStyle的时候的疏漏.