efront 4.7.3 → 4.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -195,21 +195,48 @@
195
195
  });
196
196
  var loadcode = async function () {
197
197
  jschanged = false;
198
- var modName = name.replace(/\.js$/, '_test');
198
+ var modName = name.replace(/\.js$/i, '_test');
199
199
  if (doc.test) {
200
- var xhr = await cross('get', "./components:" + modName + '.js');
201
- jstext = xhr.responseText;
200
+ var jstext = [], lessdata = [], htmldata = [];
201
+ for (var f of doc.test) {
202
+ var xhr = await cross("get", "/components:" + name.replace(/[^\\\/]+$/, '') + f);
203
+ if (/\.js$/i.test(f)) {
204
+ jstext.push(xhr.response);
205
+ }
206
+ else if (/\.less$/i.test(f)) {
207
+ lessdata.push(xhr.response);
208
+ }
209
+ else if (/\.html$/i.test(f)) {
210
+ htmldata.push(xhr.response);
211
+ }
212
+ else if (/\.xht$/i.test(f)) {
213
+ alert(i18n`这个文件内的测试代码暂不支持`, 'error');
214
+ break;
215
+ htmldata.push(xhr.response
216
+ .replace(/\<script\>([\s\S]*?)\<\/script\>/ig, function (_, s) {
217
+ jstext.push(s);
218
+ return '';
219
+ })
220
+ .replace(/\<style\>([\s\S]*?)\<\/style\>/ig, function (_, s) {
221
+ lessdata.push(s);
222
+ return '';
223
+ }));
224
+
225
+ }
226
+ }
227
+ jstext = jstext.join("\r\n");
228
+ lessdata = lessdata.join("\r\n");
229
+ htmldata = htmldata.join("\r\n");
202
230
  var code = compile$scanner2(jstext);
203
231
  var envs = code.envs;
204
232
  var vars = code.vars;
205
233
  var commName = modName.replace(/^[\s\S]*\//, '');
206
- var lessName = commName + ".less", lessData;
234
+ var lessName = commName + ".less", lessdata;
207
235
  var cssWrap = `css-` + +new Date;
208
- if (doc.test.indexOf(lessName) >= 0) {
209
- lessData = await cross("get", "./components:" + modName + ".less");
210
- lessData = compile$素馨(lessData.responseText, "." + cssWrap);
236
+ if (lessdata) {
237
+ lessdata = compile$素馨(lessdata, "." + cssWrap);
211
238
  if (code.isExpressQueue()) {
212
- jstext = `return cless(${jstext},\`${lessData}\`,"${cssWrap}")`;
239
+ jstext = `return cless(${jstext},\`${lessdata}\`,"${cssWrap}")`;
213
240
  }
214
241
  else {
215
242
  var entryName;
@@ -217,7 +244,7 @@
217
244
  else if (vars.Main) entryName = 'Main';
218
245
  else if (vars.MAIN) entryName = "MAIN";
219
246
  else if (vars[commName]) entryName = commName;
220
- if (entryName) jstext += `\r\nreturn cless(${entryName},\`${lessData}\`,"${cssWrap}")`;
247
+ if (entryName) jstext += `\r\nreturn cless(${entryName},\`${lessdata}\`,"${cssWrap}")`;
221
248
  }
222
249
  }
223
250
  else {
@@ -229,10 +256,9 @@
229
256
  }
230
257
  var templateName = commName;
231
258
  if (envs.template) templateName = 'template';
232
- if (envs[templateName]) {
259
+ if (htmldata) {
233
260
  delete envs[templateName];
234
- var template = await cross("get", './components:' + modName + ".html");
235
- jstext = `var ${templateName}={toString(){return \`${template.responseText.replace(/>\s+</g, '><')}\`}};\r\n` + jstext;
261
+ jstext = `var ${templateName}={toString(){return \`${htmldata.replace(/>\s+</g, '><')}\`}};\r\n` + jstext;
236
262
  }
237
263
  initcode(jstext);
238
264
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "4.7.3",
3
+ "version": "4.8.1",
4
4
  "description": "简化前端开发,优化web性能",
5
5
  "main": "public/efront.js",
6
6
  "directories": {