javascript - 包含使用 webpack 编译的包以在另一个 js 文件中使用
问题描述
我的应用程序具有以下结构:
index.js
const app = require("./app")
exports.api = app(...)
应用程序.js
//all the imports goes here
//and exporting the main function
module.exports = app => {...}
现在我需要app.js
与 webpack 捆绑,但index.js
必须保持原样
问题是,捆绑后app.js
,我怎样才能从require
它的主要功能?app
index.js
在 webpacking 之后app.js
,我收到错误消息index.js
,说“应用程序不是一个函数”,这是有道理的,因为 app.js 内容现在包装在 webpack 员工中。
任何建议都非常感谢。
解决方案
您的“应用程序”包需要导出为commonjs。
module.exports = {
//...
output: {
library: 'app',
libraryTarget: 'commonjs',
}
};
您的入口点的返回值将使用 output.library 值分配给导出对象。顾名思义,这是在 CommonJS 环境中使用的。
所以,在你的index.js
你可以require('./dist/bundle-name.js')
。
推荐阅读
- python - 绘制(绘图)一个完整的系列(数据框),甚至在线类型上不存在中间值
- angular - 当我在 ngOnInit() 中使用 router.getCurrentNavigation() 时,它会给我类型错误,但是当我在构造函数中使用它时,它工作正常,为什么?
- python - 脚本运行时 file_counter 没有更新,我希望 file_counter 更新以便可以创建一个新的 csv 文件
- javascript - 如何使用 jQuery 前端保存和获取大 json
- r - 使用 purrr::map() 将模型拟合到新列表列时,如果拟合错误,则返回指示性字符串
- java - JPanel 类型的方法未定义
- azure - 在 Azure 上部署战争文件
- java - 为什么Java WeakReference会出现OutOfMemoryError?
- typescript - 泛型参数限制为非数组
- c++ - BOOL 在给定代码中的作用是什么?