2017-08-10 58 views
0

我使用remark-math来渲染Markdown的数学方程。这在以前一直顺利,但之后我重构一些看似无关的代码,我现在得到以下异常:在同一个文件中不断定义的未捕获ReferenceError

Uncaught ReferenceError: INLINE_MATH_DOUBLE is not defined 
    at Of.inlineTokenizer (inline.js:12) 
    at Of.tokenize [as tokenizeInline] (tokenizer.js:111) 
    at Of.atxHeading (heading-atx.js:148) 
    at Of.tokenize [as tokenizeBlock] (tokenizer.js:111) 
    at Of.parse (parse.js:41) 
    at Function.parse (index.js:275) 
    at pipelineParse (index.js:22) 
    at wrapped (index.js:93) 
    at next (index.js:56) 
    at Object.run (index.js:30) 

./node_modules/remark-math/inline.js相关的代码如下所示:

const ESCAPED_INLINE_MATH = /^\\\$/ 
const INLINE_MATH = /^\$((?:\\\$|[^$])+)\$/ 
const INLINE_MATH_DOUBLE = /^\$\$((?:\\\$|[^$])+)\$\$/ // << defined here? 

module.exports = function inlinePlugin (opts) { 
    function inlineTokenizer (eat, value, silent) { 
    let isDouble = true 
    let match = INLINE_MATH_DOUBLE.exec(value) // << line 12, error here 
    // ...remaining code 

的常量似乎在范围内定义!

我正在建设使用webpack和chentsulin/electron-react-boilerplate模板。任何暗示为什么这种例外会突然发生? (我已经尝试完全重装node_modules。)

+0

请向我们展示导致此工作与否的“看似不相关”部分的变化。 – Bergi

+0

Hi @Bergi,大约30多个文件有数百个变化,因为它是一个主要的重构。显然,我不能发布所有这些,但是在比较分支时,没有影响node_modules的更改,也没有与调用它们的代码相关。当我检出较早的标记版本时,问题依然存在,根据我的回答,这似乎是npm install的一个问题。运行纱线,而不是修复问题 –

回答

0

也许一些问题发生在webpack楼。

如果错误仍然发生,并且要避免它,你可以使用这个

GLOBAL.INLINE_MATH_DOUBLE = /^\$\$((?:\\\$|[^$])+)\$\$/ 
+0

感谢您的答案,这似乎并没有解决它。 –

0

我重新安装的依赖与yarn代替npm和问题走了。

相关问题