编译模板文件报错
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?带上文件
我编译通过了。由于最近在频繁更新,这很可能是 loader 与 art-template 版本不匹配的问题,请都升级到最新版本。
我和你是同样的版本,在 demo 执行 npm install && npm start 一切正常。
建议:
- 检查 node_modules/art-template-loader/package.json 与 node_modules/art-template/package.json 的最终版本
- node_modules/art-template-loader/src/index.js 中 debug 排查下原因。