node.js - 要求('fs')不适用于角度和电子
问题描述
我正在使用 angular 6.0、electron 2.0、typescript 2.9、nodejs 9.11 使用电子框架制作桌面应用程序。我正在努力从打字稿代码访问 NodeJS 本机 API。我在“tsconfig.app.json”文件中设置了“commonjs”。当我在作为 Angular 应用程序一部分的任何 ts 文件中编写 : require('fs') 或 require('net') 时,系统无法找到这些模块。
到目前为止,只有一种解决方案有效。它是这样的。首先在“native.js”中
window.fs = require('fs')
然后在 polyfill.ts 中:
declare global {
interface Window{
fs : any;
}
}
然后fs
在代码库的其余部分中以window.fs
.
虽然这没问题,但它不可扩展,好像我必须使用任何依赖于 NodeJS 原生 API 的库,然后必须通过这种机制导入该库。
是否有任何其他解决方案让 angular 允许通过正常require(<module>)
语法导入 nodejs 系统库?
解决方案
import * as Fs from 'fs';
const fs: typeof Fs = window['require']('fs');
推荐阅读
- azure-devops - VSTS 当另一个项目有签入时,我们如何触发一个项目的自动构建
- python - discord.py cog 无法正常运行
- ios - ARKit 2:从后端重新加载 ARWorldMap 时,虚拟对象处于浮动状态
- apk - 如何在不使用第三方应用程序的情况下从基础制作 apk?
- javascript - 如何将 png 图像导入 node-red-contrib-web-worlmap
- swift - UICollectionView 标头标题更改
- python-3.x - 当从站升级到 Python 3 时,Jenkins 中的无限加载
- c# - 在 Visual Studio 2015 中停止进行中的调试
- c# - ViewCell 内具有不同边距的元素
- opencv - 平均几个旋转矩阵的正确方法是什么?