我定义了一个代码段代码并将其显示在Web上,以便用户可以复制使用,但是在以Webpack生产模式构建应用程序后,代码段消失了。
我认为webpack将其视为未使用的代码,因此在构建时将其删除。
代码段
let html = `
<script>
(function(w, d, t, s, n) {
...
const fn = function() {
(w[n].q = w[n].q || []).push(arguments);
};
w[n] = w[n] || fn;
const f = d.getElementsByTagName(t)[0];
const e = d.createElement(t);
const h = '?v' + new Date().getTime();
e.async = true;
e.src = s + h;
f.parentNode.insertBefore(e, f);
})(window, document, 'script', '${process.env.UNIVERSAL_SCRIPT}', 'fd');
window.fd('form', { userId: '${form.userId}', formId: '${form.id}' });
</script>
`;
html = jsBeautify.html(html, { indent_size: 2 });
在react组件中渲染:
<SyntaxHighlighter language="xml" style={monokai} id="html">
{html}
</SyntaxHighlighter>
这是演示存储库:https://github.com/minhtranite/webpack-remove-snippet。请运行start
和start:prod
以查看差异结果。
答案 0 :(得分:0)
似乎您尚未定义变量form
,导致构建失败。或者,language =“ html”导致将其解析为html。 language =“ text”会将其呈现为文本。