aui / art-template-loader

art-template loader for webpack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

编译模板文件报错

yazhouzou opened this issue · comments

var render = require('../../../templates/page/brand/brand-list.tpl')

编译报错如下:
ERROR in ./resources/templates/page/brand/brand-list.tpl
Module build failed: SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at loadLoader (/Users/yazhou/work/lookbook/node_modules/loader-runner/lib/loadLoader.js:13:17)
    at iteratePitchingLoaders (/Users/yazhou/work/lookbook/node_modules/loader-runner/lib/LoaderRunner.js:169:2)
    at runLoaders (/Users/yazhou/work/lookbook/node_modules/loader-runner/lib/LoaderRunner.js:362:2)
    at NormalModule.doBuild (/Users/yazhou/work/lookbook/node_modules/webpack/lib/NormalModule.js:179:3)
    at NormalModule.build (/Users/yazhou/work/lookbook/node_modules/webpack/lib/NormalModule.js:268:15)
    at Compilation.buildModule (/Users/yazhou/work/lookbook/node_modules/webpack/lib/Compilation.js:142:10)
    at factoryCallback (/Users/yazhou/work/lookbook/node_modules/webpack/lib/Compilation.js:325:11)
    at /Users/yazhou/work/lookbook/node_modules/webpack/lib/NormalModuleFactory.js:251:4
    at /Users/yazhou/work/lookbook/node_modules/webpack/lib/NormalModuleFactory.js:93:13
    at /Users/yazhou/work/lookbook/node_modules/tapable/lib/Tapable.js:204:11
    at NormalModuleFactory.<anonymous> (/Users/yazhou/work/lookbook/node_modules/webpack/lib/CompatibilityPlugin.js:52:5)
    at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/yazhou/work/lookbook/node_modules/tapable/lib/Tapable.js:208:13)
    at onDoneResolving (/Users/yazhou/work/lookbook/node_modules/webpack/lib/NormalModuleFactory.js:68:11)
    at onDoneResolving (/Users/yazhou/work/lookbook/node_modules/webpack/lib/NormalModuleFactory.js:197:6)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
 @ ./resources/scripts/page/brand/brand-list.js 7:13-68
 @ multi ./resources/scripts/page/brand/brand-list.js

最好能够提供模板、配置,这样才能定位到问题所在

@aui
模板brand-list.tpl:

<p>test</p>

webpack loader配置:

{
	test: /\.tpl$/,
	loader: 'art-template-loader',
	options: {
	root: require('path').resolve(__dirname),
	// imports: require.resolve('./template-imports'),
	}
},

js代码:

var render = require('./../../../templates/page/brand/brand-list.tpl')


         

能否提供可以重现的 demo?带上文件

@aui 请查看附件~~
demo.zip

我编译通过了。由于最近在频繁更新,这很可能是 loader 与 art-template 版本不匹配的问题,请都升级到最新版本。

@aui 版本是最新的 "art-template": "^4.4.2", "art-template-loader": "^1.2.2", 依然报错~~

我和你是同样的版本,在 demo 执行 npm install && npm start 一切正常。
建议:

  1. 检查 node_modules/art-template-loader/package.json 与 node_modules/art-template/package.json 的最终版本
  2. node_modules/art-template-loader/src/index.js 中 debug 排查下原因。

@aui ok 多谢耐心地解答~~ 我最近研究一下artTemplate及loader相关源码,有问题再反馈~~