这与这个问题类似,但是这两个答案都不能解决问题。
运行后npm run build的结果index.html类似于:
<script>!function (i) { function e(e) { for //rest omitted
<script src="/static/js/2.3f294f32.chunk.js"></script>
<script src="/static/js/main.7b9daa35.chunk.js"></script>
Run Code Online (Sandbox Code Playgroud)
第一个<script>元素是内联的 javascript,我已将其提取到一个名为的文件中loader.js
<script src="/loader.js"></script>
<script src="/static/js/2.3f294f32.chunk.js"></script>
<script src="/static/js/main.7b9daa35.chunk.js"></script>
Run Code Online (Sandbox Code Playgroud)
这有效,但我想将所有 3 个文件合并为一个文件
我已经尝试过filesmerge.com来合并 JS 文件,但这会导致在引用单个文件时出错:
output.min.js:1 Uncaught TypeError: (intermediate value)(...) is not a function
at output.min.js:1
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用jscompress.com 进行组合,虽然这不会产生任何错误,但不会呈现反应根元素
我也试过在 create-react-app 存储库中建议的这个解决方案不起作用。不产生错误但不呈现反应元素(页面保持空白)
我想构建一个 react 应用程序,并将静态 css 和 js 文件有效地嵌入到index.html 中,当我调用yarn build.
我显然可以破解输出并用内联版本替换<script src"...和<link href="/static/css/...标记,但希望有一个更优雅的解决方案。
我正在尝试构建 react-create-app一个文件(包括 JS、CSS、PNG 等...)。
这是可能的,如何?
我应该尝试使用 rollup 还是可以使用 webpack?
我测试了https://www.npmjs.com/package/html-webpack-inline-source-plugin但看起来已经过时并且无法正常工作。