标签: node-modules

如何找出NPX运行的是哪个文件?

例如,当您npx webpack在终端中运行时,NPX 会webpack在某处找到一个包并运行它。如何确定NXP运行的二进制文件的确切位置?我正在寻找 NPX 中类似的工具。

也许有这样的选项(警告,这不是真正的代码):

$ npx --which webpack
/users/me/my-project/node_modules/.bin/webpack
Run Code Online (Sandbox Code Playgroud)

node.js node-modules npx

12
推荐指数
1
解决办法
1447
查看次数

npm install 返回 syscall spawn git 错误

我尝试运行 npm install 并在下面遇到这些问题

我尝试使用强制命令清除缓存,安装 git 和更新节点,但没有任何效果

这是错误

npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t ssh://git@github.com/eligrey/FileSaver.js.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found …
Run Code Online (Sandbox Code Playgroud)

git node.js npm node-modules angular

12
推荐指数
2
解决办法
1万
查看次数

node.js:从另一个模块访问局部变量

我的问题

我正在写一个node名为的模块a,它require()是一个模块b(由陌生人编写).不幸的是,a不仅需要访问公共成员 - 它还需要访问模块范围内声明的局部变量.

// a
var b = require('b');

console.log(b.public);
console.log(b.private); // undefined


// b
var c = require('c');
var stdin = process.stdin;

exports.public = true;
var private = true;
Run Code Online (Sandbox Code Playgroud)

我的解决方案

// a
var b = require('b');
var srcPath = require.resolve('b');

console.log(b.public);
fs.readFile(srcPath, 'utf-8', function (err, src) {
    var box = {};
    var res = vm.runInNewContext(src, box, srcPath);
    console.log(box.private);
});
Run Code Online (Sandbox Code Playgroud)

但是vmb作为模块运行,所以require()等等也无法从上下文中访问vm.所以有 …

javascript serverside-javascript node.js node-modules

11
推荐指数
2
解决办法
1万
查看次数

如何从非模块文件中使用 js 模块

我是使用 js 模块的初学者。

我正在开发一个相当简单的 Web 应用程序。它使用 typescript 和 angular 2,它们严重依赖于模块。

我的大多数应用程序 ts 文件“导入”一个或多个 js 模块(通常主要是 angular 2 模块)。

据我了解,因为我的应用程序 ts 文件具有顶级“导入”,它们被打字稿自动视为 js 模块。

但是,我希望我的任何其他应用程序 ts 文件都可以访问我的任何应用程序 ts 文件,而无需相互“导入”。但是因为它们现在本身就是模块,所以 ts 要求我这样做......

是否可以?

对于我的每个应用程序 ts 文件,我似乎很疯狂,我必须声明其中使用的所有其他应用程序 ts 文件(我喜欢使用单个类/接口的小文件)。此外,这依赖于相对路径,一旦我重组我的文件夹结构就会中断。

我是否以错误的方式思考这个问题?

javascript node-modules typescript angular

11
推荐指数
2
解决办法
6532
查看次数

如何在vuejs中导入node_modules的所有css

我正在使用webpack模板和vuetify构建一个Vue.js应用程序.要导入vuetify css我在我的App.vue中这样做

<style> @import '../node_modules/vuetify/dist/vuetify.min.css' </style>

这是正确的还是唯一的方式?因为在使用多个UI组件时它似乎不可靠.

javascript npm node-modules vue.js vue-cli

11
推荐指数
1
解决办法
1万
查看次数

在 Dockerized Node.js 开发环境中处理 node_modules 的干净且实用的方法?

我最近一直在尝试 dockerize(用于开发和稍后用于生产)一个 MERN 堆栈应用程序,Node.js(更特别是 node_modules)和 Docker 之间的交互让我有点失望。在整个问题中,我将用于开发的计算机指定为“主机”。

TL; 博士

在开发时,有没有一种方法可以在不将主机的 node_modules 文件夹安装到容器的情况下对 Node.js 应用程序进行 Dockerize 化?

我尝试的方法(以及为什么它们都不满足我)

我可以想到使用 Docker(及其 docker-compose 实用程序)进行开发的 3 大优势(我将其称为第 1、2 和 3 点):

  1. 它可以轻松地在新机器上设置开发环境,或在项目中集成新成员,因为除了 Docker 本身之外,您无需手动安装任何东西。
  2. 该应用程序在开发时很容易运行以进行调试(只需快速运行,docker-compose up数据库、后端和前端都已启动并运行)。
  3. 运行时环境在所有机器和应用程序的最终生产环境中都是一致的,因为 Docker 容器有点像它自己的小型 Linux 虚拟机。

前 2 点在 dockerizing 一个 Node.js 应用程序时没有问题;但是我觉得第三个在开发环境中更难实现,因为依赖项在 Node 中的工作方式及其 node_modules 功能。让我解释 :

这是我简化的项目文件夹结构:

project
?   docker-compose.yml
?
????node-backend
?   ?   Dockerfile
?   ?   package.json
?   ?   server.js
?   ?
?   ????src
?   ?   ?   ...
?   ?
?   ????node_modules …
Run Code Online (Sandbox Code Playgroud)

node.js node-modules docker docker-compose

11
推荐指数
1
解决办法
1083
查看次数

对于嵌套的忽略文件,Docker 构建有时会因“文件未找到或被 .dockerignore 排除”而失败

我的目录结构:

??? src/
?????? backend/
???????? Dockerfile
???????? ...
?????? frontend/
???????? Dockerfile
???????? node_modules/
???????? ...
?????? commons/
???????? ...
??? .dockerignore
Run Code Online (Sandbox Code Playgroud)

.dockerignore包括行**/node_modules和我的构建上下文的根目录是由于使用commons

我两个都跑

docker build ... -f src/backend/Dockerfile .

docker build ... -f src/frontend/Dockerfile .

并行,有时backend构建会因以下特定错误而失败:

错误检查上下文:“文件 ('/workspace/src/frontend/node_modules/.staging/wrap-ansi-2a6f888f') 未找到或被 .dockerignore 排除”。

根据我的理解(请参阅为什么 Node 模块会进入 .staging 文件夹?)该.staging文件夹是临时的,并且在运行它时可能存在竞争条件(请参阅 Docker cli源代码)。

但是,如果node_modules忽略这个文件,为什么首先会走呢?我是在滥用忽略上下文功能还是实际的竞争条件?

该问题在 Google Cloud Build 环境中重现,其中我通过图像使用 docker cli,该图像gcr.io/cloud-builders/docker使用 docker 客户端版本19.03.5并使用 docker …

node-modules docker dockerfile docker-build

11
推荐指数
1
解决办法
3920
查看次数

模块解析失败:意外的令牌。react-native/index.js "typeof" 操作符

我对前端很陌生 - 试图在 React 上实现客户端。添加“react-native”依赖项并运行后,webpack我收到以下错误:

ERROR in ./node_modules/react-native/index.js 13:7
Module parse failed: Unexpected token (13:7)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| 'use strict';
| 
> import typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo';
| import typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator';
| import typeof Button from './Libraries/Components/Button';
 @ ./node_modules/@react-navigation/native/lib/module/useBackButton.js 2:0-43 5:25-36
 @ ./node_modules/@react-navigation/native/lib/module/index.js
 @ ./src/main/js/app.js
Run Code Online (Sandbox Code Playgroud)

我在 package.json 中有以下依赖项:

 "dependencies": {
    "@react-native-community/masked-view": "^0.1.7",
    "@react-navigation/native": "^5.1.4",
    "@react-navigation/stack": "^5.2.9", …
Run Code Online (Sandbox Code Playgroud)

typeof node-modules reactjs webpack react-native

11
推荐指数
2
解决办法
3888
查看次数

使用 UUID npm 模块出现奇怪的错误。我究竟做错了什么?

获取“错误:'D:\test\node_modules\uuid' 的包导出未定义'.' 子路径”一直在我需要它的时候。

操作系统 - Windows 10 Pro
节点版 - v13.1.0
NPM 版 - 6.14.4

我从头开始创建了一个项目并运行npm init -y以创建初始package.json
然后我通过运行安装了uuidnpm install uuid并创建了index.js,但只有

const { v4: uuidv4 } = require('uuid');
uuidv4();
Run Code Online (Sandbox Code Playgroud)

从他们的例子

但是每当我尝试运行此代码时,node ./index.js我总是会收到此错误:

internal/modules/cjs/loader.js:488
    throw e;
    ^

Error: Package exports for 'D:\test\node_modules\uuid' do not define a '.' subpath
    at applyExports (internal/modules/cjs/loader.js:485:15)
    at resolveExports (internal/modules/cjs/loader.js:508:12)
    at Function.Module._findPath (internal/modules/cjs/loader.js:577:20)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:879:27)
    at Function.Module._load (internal/modules/cjs/loader.js:785:27)
    at Module.require (internal/modules/cjs/loader.js:956:19) …
Run Code Online (Sandbox Code Playgroud)

uuid node.js npm node-modules node-uuid

11
推荐指数
1
解决办法
7257
查看次数

将 D3.js 7.0.0 与 Next.js 11.0.1 一起使用时,如何解决“[ERR_REQUIRE_ESM]:必须使用导入加载 ES 模块”的问题?

尝试将 D3 与 Next.js 一起使用时,在将 D3.js v7.0.0 与 Next.js v11.0.1 一起使用时,我无法克服此错误:

[ERR_REQUIRE_ESM]:必须使用import来加载ES模块

  • 我试过next-transpile-modules没有运气
  • 我有 D3.js v7.0.0 可以使用,create-react-app但我需要 D3 与 Next.js v11.0.1 一起使用

我使用npm i d3. 我用import * as d3 from "d3". 使用 Node v15.8.0 和 React v17.0.2

javascript node.js d3.js node-modules next.js

11
推荐指数
1
解决办法
748
查看次数