javascript - Nuxt(和 Webpack):如何分离单个 JS 文件以供外部应用程序重用?
问题描述
我偶然发现了几页关于将外部文件导入 Nuxt 项目的内容,但我想做的恰恰相反。
我有两个站点或应用程序:站点 A 和站点 B。站点 A 是使用 Nuxt 构建的主要站点。站点 B 是一个带有静态页面的简单站点,不使用 Nuxt 或 Vue。
站点 A 有一个 JavaScript 文件,假设它的路径是 /lib/common.js
. 我在站点 A 上广泛使用它。我也想在站点 B 上使用它。
但是,当我yarn generate
在站点 A 上执行此操作时,我的所有 JS 文件(包括common.js
. 例如,/lib/common.js
捆绑/lib/util.js
为/dist/_nuxt/05443d2eb25fc282bbea.js
while/lib/user.js
捆绑为/dist/_nuxt/1326d0fc90870f9f4ca4.js
.
这意味着:
- 我要使用的文件实际上与其他文件捆绑到同一个包中,所以如果我加载该文件,我必须加载额外的代码,并且,
- 我无法真正预测该文件的名称。
有没有办法让我告诉 Nuxt,或者最有可能是 Webpack,将其单独/lib/common.js
打包到自己的包中,然后将其保存为/dist/_nuxt/lib/common.js
而不是哈希,这样文件名就更可预测了?
解决方案
您需要为该单个文件创建单独的 webpack 配置以实现所需的结果,因为每个配置文件仅支持一个输出配置 [0]。
[0] https://github.com/webpack/docs/wiki/configuration#output
示例公共库配置common.lib.config.js
var path = require('path');
module.exports = {
entry: './lib/common.js',
output: {
path: path.resolve(__dirname, 'dist/_nuxt/lib'),
filename: 'common.js'
}
};
并用webpack --config common.lib.config.js
推荐阅读
- shell - 如何将从文件中读取的“55”更改为整数
- vb.net - 如何使用 vb.net windows 窗体根据程序条件更改列表框中任何项目的颜色背景
- angular - 为什么我无法从@input 获取数据?
- php - 我在 php 中的数字格式有问题
- pandas - 如何编写熊猫数据框,并将图像或图表插入同一个 Excel 工作簿,但多个工作表
- python - 用字典中的值替换列表中的元素
- javascript - Axios 失败的 Oauth 2.0 请求
- c# - 在屏幕键盘上禁用 CefSharp
- c# - C# CLI 中的嵌套配置数组
- python - python循环遍历列表相同的字典键