javascript - Webpack:如何自动将导入的文件包含到构建目录中?
问题描述
我几乎没有使用 Webpack 的经验。
由于某种原因,Webpack 不会自动将文件引用包含require()
到 dist 目录(生产构建)中。
我目前正在重构这个文件./public/quickViewWindow.html
:https ://github.com/aleksey-hoffman/sigma-file-manager/blob/main/public/quickViewWindow.html
在其中,我正在导入此文件../src/utils/sharedUtils.js
:
https ://github.com/aleksey-hoffman/sigma-file-manager/blob/main/src/utils/sharedUtils.js
如下:
<body>
<div id="content-container"></div>
<script type="module">
const sharedUtils = require('../src/utils/sharedUtils')
...
它在开发中工作,但在生产版本中不工作:
Uncaught Error: Cannot find module '../src/utils/sharedUtils'
Require stack:
- C:\Users\AL\AppData\Local\Programs\sigma-file-manager\resources\app.asar\quickViewWindow.html
在控制台中运行此代码(生产构建):
console.log(require('fs').readdirSync(__dirname))
表明 Webpack 确实不包含该./src/utils/sharedUtils.js
文件:
0: "0e7fe195a8e2c74bd1f0.worker.js"
1: "0e7fe195a8e2c74bd1f0.worker.js.map"
2: "253bb5a8f9e801b6d940.worker.js"
3: "253bb5a8f9e801b6d940.worker.js.map"
4: "58082cc4c1c8cb1b52e4.worker.js"
5: "58082cc4c1c8cb1b52e4.worker.js.map"
6: "background.js"
7: "background.js.LICENSE.txt"
8: "configs"
9: "css"
10: "errorWindow.html"
11: "fonts"
12: "game"
13: "icons"
14: "img"
15: "index.bundle.js"
16: "index.bundle.js.map"
17: "index.html"
18: "js"
19: "node_modules"
20: "package.json"
21: "quickViewWindow.html"
22: "resources"
23: "server"
24: "trashManagerWindow.html"
这是 Webpack 配置文件:
https://github.com/aleksey-hoffman/sigma-file-manager/blob/main/vue.config.js
如您所见,经过一些小的修改,我使用由electron-builder-plugin样板(应用程序基于)指定的默认配置值
更新:
我用以下代码修复了它,但我不确定这是否是正确的方法:
const CopyPlugin = require('copy-webpack-plugin')
...
configureWebpack: {
plugins: [
new CopyPlugin([
{from: './src', to: 'src'}
])
]
}
另一个问题是,如果我import
使用 ES6 语法而不是相同的模块require()
,它会抛出:Unexpected token 'export'
.
似乎 Webpack / Babel 根本没有处理./public
目录中的文件。
解决方案
推荐阅读
- exception - 将 mule 从 3.8 升级到 3.9 后出现加密错误
- xamarin - 是否可以使用 Microsoft App Center 记录用户使用 Xamarin Forms 应用程序执行的操作等信息?
- .net - VS Code 调试剃须刀(cshtml)
- loops - 根据行中的某些值拆分矩阵
- r - sf sfc 对象的坐标变换似乎不起作用
- java - Spring & Couchbase - 如何通过代码创建索引
- reactjs - 为什么我的 React 组件没有显示或根本没有动作?
- .net - 如何将视图的“高于 RenderBody”和“低于 RenderBody”内容作为单独的“页眉”和“页脚”文件提供?
- python - 如何按值拆分数组
- python - 对象(不是数组)中是否有用于咨询文本的“$elemMatch”?