我发现了许多关于如何设置模块增强文件以向 node_module 添加功能的示例,但我对如何将它们包含在打字稿编译中有点困惑。我是否应该像这样导入在顶部main.ts(或public_api.ts库)进行增强的文件:
import './moduleaugmentationfile';
Run Code Online (Sandbox Code Playgroud)
或者是否有其他标准方法可以使此附加功能在整个应用程序中可用。
编辑:
这是一个示例应用程序。示例模块增强位于moduleaugmentation.ts. 我在 中添加了一条评论main.ts,解释了我对如何最好地包含模块增强的困惑。
我用来import * as ts from "typescript";在 .ts 文件中导入打字稿。
该文件运行良好,但 VS Code 告诉我Cannot find module 'typescript'. ts(2307)。
有什么办法可以抑制这个问题吗?
编辑:文件可以成功编译并运行
您好,我有与雪花连接来执行查询的代码。我想从实现了回调函数的完整密钥中提取数据。有什么方法可以停止该功能,直到它提供完整的信息。比如使用await什么的
var statement = connection.execute({
sqlText: 'select sysdate() from dual'
,complete: function(err, stmt, rows) {
if (err) {
context.error('Failed to execute statement due to the following error: ' + err.message);
} else {
context.log('Successfully executed statement: ' + stmt.getSqlText());
}
}
});
Run Code Online (Sandbox Code Playgroud)
编辑1:
如果我使用
console.log(statement.getStatus()) //output is {fetching}
Run Code Online (Sandbox Code Playgroud)
但我需要的是一个完整的状态。
node.js async-await node-modules snowflake-cloud-data-platform
我是 Node.js 新手,并尝试从 Google 开发人员 Codelabs 步骤链接实现传输跟踪器: https: //codelabs.developers.google.com/codelabs/transport-tracker-backend/#2。
当我运行时,我遇到错误分段错误(核心转储)npm run main。
包.json
{
"name": "transport-tracker-server",
"version": "1.0.0",
"description": "The server component for Transport Tracker",
"scripts": {
"main": "node main.js"
},
"author": "Brett Morgan",
"license": "Apache-2.0",
"dependencies": {
"asyncawait": "^3.0.0",
"bluebird": "^3.7.2",
"csv-parse": "^4.12.0",
"sqlite3": "^5.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
main.js
/*eslint-disable unknown-require */
const _async = require('asyncawait/async');
const _await = require('asyncawait/await');
const {GTFS} = require('./gtfs.js');
const gtfs = new GTFS();
_async(() => {
const trips = _await(gtfs.getTripsForCalendarDate('20160518')); …Run Code Online (Sandbox Code Playgroud) 我正在使用 npm 头盔来保护我的 Express 应用程序,但我希望允许渲染 S3 存储桶中的图像。当我使用头盔时出现此错误Refused to load the image '<URL>' because it violates the following Content Security Policy directive: "img-src 'self' data:".,这是有道理的,我违反了头盔实现的 CSP。
我在他们的文档中找到的唯一内容是:
app.use(
helmet({
contentSecurityPolicy: false,
})
);
Run Code Online (Sandbox Code Playgroud)
这确实允许我的图像渲染,但我仍然想要头盔提供的 CSP。我只需要基本上将我的 S3 链接列入白名单,但我在他们的文档中找不到有关此主题的任何内容
我的 Mac 空间不足。我总是首先查看的地方是node_modules目录,因为我一次运行多个项目 - 我确信我们都这样做!
我不确定是否应该清理所有内容或保留全局安装。转到您安装的目录node_modules并打印它们/这就是我所做的:
$ find . -name "node_modules" -type d -prune -print | xargs du -chs
Run Code Online (Sandbox Code Playgroud)
结果:
$ find . -name "node_modules" -type d -prune -print | xargs du -chs
Run Code Online (Sandbox Code Playgroud)
清单很长,我该怎么办?
我正在考虑删除所有并再次重新安装节点。
5.4M ./.npm-packages/lib/node_modules
19M ./.nvm/versions/node/v15.3.0/lib/node_modules
2.4M ./Desktop/note/server/node_modules
59M ./Desktop/jsamazona/frontend/node_modules
6.3M ./Desktop/jsamazona/node_modules
228M ./Desktop/react-with-leaflet-master/node_modules
254M ./Desktop/npmapp/npmapp/node_modules
311M ./Desktop/npmapp/node_modules
387M ./Desktop/speechly_expense_tracker_project-main/node_modules
347M ./Desktop/my-gatsby-project/node_modules
du: ./Desktop/PORTFOLIOS/bootstrap: No such file or directory
du: portfolio/node_modules: No such file or directory
98M ./Desktop/PORTFOLIOS/simplefolio/node_modules
305M ./Desktop/PORTFOLIOS/myportfoliosite/node_modules
81M ./Desktop/PORTFOLIOS/portfolio20/node_modules
421M …Run Code Online (Sandbox Code Playgroud) 这个标题有一些问题,但我有。尝试了其中的所有解决方案,但我无法解决这个问题。
我刚刚开始学习 React-Native 并收到此错误:
我已经尝试过这个红色框中提到的步骤。我尝试删除node_modules文件夹然后重新安装。我也换了"uuidv4": "^5.0.1"版本,npm install重新安装了。但没有成功。我使用过的代码uuidv4是:
const [items, setItems] = useState([
{ id: uuid(), text: 'Milk' },
{ id: uuid(), text: 'Eggs' },
{ id: uuid(), text: 'Bread' },
{ id: uuid(), text: 'Juice' }
]);
Run Code Online (Sandbox Code Playgroud)
我已将其导入为import { uuid } from 'uuidv4';
有什么帮助吗?
编写包含 es6 模块的 NPM 包,最好的做法是将源文件分开
package.json
esm
index.js
Content1
Content1A.js
Content1A.js.map
Content1B.js
Content1B.js.map
Content2
Content2A.js
Content2A.js.map
Content2B.js
Content2B.js.map
Run Code Online (Sandbox Code Playgroud)
引用index.js子文件夹中的内容,还是将其捆绑到一个文件中是更好的做法
package.json
esm
contents.js
contents.js.map
Run Code Online (Sandbox Code Playgroud)
似乎第一种方法对 CommonJS 模块有优势,因为它使消费者可以直接从源导入,从而跳过未使用的导入index.js(因为 CommonJS 模块不可进行树摇动),但对于 es6 模块,这个参数就消失了。
我正在使用@mui/x-date-pickers并@date-io/date-fns创建一个 DatePicker。我正在遵循本指南和本指南,了解如何安装正确的模块,但是当我导入所需的模块以呈现日期选择器时,出现以下错误。
这是我的进口:
import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns";
import { DatePicker } from "@mui/x-date-pickers/DatePicker";
import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
Run Code Online (Sandbox Code Playgroud)
和日期选择器:
return (
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
label={title}
value={value}
onChange={(e) => {
setDetails((prev) => {
const update = [...prev.fields];
update[index] = {
...update[index],
Value: e.target.value,
};
return { ...prev, fields: update };
});
renderInput={(params) => <TextField {...params} />}
}}
/>
</LocalizationProvider>
);
Run Code Online (Sandbox Code Playgroud) 我的问题我已经从这个 github 存储库
安装了 fnm(快速节点管理器),除了安装全局 npm 包之外,它工作得很好。例如,众所周知的包是我想要全局安装的东西,而不是我的项目目录。nodemonnode_modules
正如在 fnm存储库文档中所见,需要eval "$(fnm env --use-on-cd)";在加载时运行这段代码才能使 fnm 正常工作,这就是我在文件中所做的.bashrc。
注意 我使用的是 Windows 10,似乎正在我的 Mac 笔记本电脑上工作。
问题
如何为所有或至少一个 fnm 节点版本安装全局 npm 软件包?我的意思是,通过运行fnm use <NODE_VERION>您可以指定要使用的节点版本,这也可以在存储库文档中看到。我希望能够运行该nodemon命令,而无需将其安装在项目node_modules目录中。
node-modules ×10
node.js ×5
npm ×4
reactjs ×2
typescript ×2
amazon-s3 ×1
angular ×1
async-await ×1
commonjs ×1
datepicker ×1
es6-modules ×1
express ×1
google-maps ×1
helmet.js ×1
javascript ×1
macos ×1
node-uuid ×1
npm-install ×1
react-native ×1