google/closure-compiler
在 GitHub 查看require with a substitution-free template string is not recognized by process_common_js_modules
Open
#2,626 创建于 2017年8月21日
P2help wanted
描述
I'm using the compiler with the process_common_js option set to true.
The following code works fine:
/** @const */
const update = require( "./update.js" );
However, switching to a substitution-free template string breaks:
/** @const */
const update = require( `./update.js` );
resulting in:
src/main.js:8: ERROR - variable require is undeclared
const update = require( `./update.js` );
^^^^^^^
The code style of the project I'm working on imposes template strings wherever syntactically possible (only object keys get a pass and can use double quotes). Of course, this does include paths in require statements. Sadly, it seems the CommonJS machinery does not recognize such statements as processable.
As a workaround, I can break from the code style but it is clearly not ideal and it would be really nice if the compiler was able to handle this.