标签: node-modules

如何在windows上安装libpng-dev?

我正在尝试为节点安装imagemin-pngquant模块:

https://www.npmjs.org/package/imagemin-pngquant

但是,当我运行命令时

npm install imagemin-pngquant --save-dev
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

  warn : pngquant pre-build test failed
  info : compiling from source
 error : Error: pngquant failed to build, make sure that libpng-dev is installed
 at ChildProcess.exithandler (child_process.js:637:15)
 at ChildProcess.EventEmitter.emit (events.js:98:17)
 at maybeClose (child_process.js:735:16)
 at Socket.<anonymous> (child_process.js:948:11)
 at Socket.EventEmitter.emit (events.js:95:17)
 at Pipe.close (net.js:466:12)
Run Code Online (Sandbox Code Playgroud)

如何安装pngquant所需的libpng-dev库?

png libpng node-modules

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

nodejs中的CSV导出问题

我有excel表与数据列表.

  1. 阅读Excel数据
  2. 使用API​​在另一个系统上搜索excel数据
  3. 获取最高结果数据并转换为csv文件.

这一步工作得很好.但之后我需要格式化csv文件中的数据,如excel数据和搜索结果都必须显示在csv文件中.

在这里我无法将excel数据带入csv文件.例如"本田"是excel文件中的汽车名称,我正在阅读它并搜索另一个系统.这些结果需要在csv中显示.

请指教.

Excel输入:

Car name, Description
Honda, some description
Run Code Online (Sandbox Code Playgroud)

API响应数据:

[{
    "total": 10,
    "results": [{
      "name": {
        "val": "Honda",
        "id": "0271b276",
        "type": "String",
      },
      "attributes": [{
        "val": "accord",
        "type": "field1",

      },  {
        "val": "test123",
        "type": "field3",
      }],

    }]
  },

]
Run Code Online (Sandbox Code Playgroud)

CSV文件中的期望输出.

Car Name , Description,Total results,Make , Model
honda ,  Description,10 , Honda, accord
Run Code Online (Sandbox Code Playgroud)

const _ = require('lodash');
const xlsx = require('xlsx');

const workbook = xlsx.readFile(__dirname + '/test.xlsx');
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
for (let …
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-modules

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

Typescript使用严格的编译器选项抛出node_modules中的错误

node_modules尽管该文件夹被排除在外,但仍存在几个关于为什么抛出错误的github问题tsconfig.json.如果importlib上有任何内容,则忽略该exclude属性.

但是,当使用更严格的编译器选项(即strictNullChecks,noUnusedLocals...)并引用任何未设计用于这些选项的lib时,会引发错误.

因此,每当使用这样的lib时,总是决定不使用lib或不使用编译器选项.但是有大型库/框架不支持这些选项(即Angular),所以似乎没有办法使用这些选项来确保在自己的项目中进行严格的检查.

我是否错过了避免抛出node_modules错误的可能性?如果没有,是否有任何技术要求将这些规则应用于所有导入的库或这种行为背后的原因是什么?

node-modules typescript

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

阻止require(...)查找父目录中的模块

我的Node项目的根目录位于一个目录中,该目录本身是另一个Node项目的根目录.所以这两个文件夹包含package.jsonnode_modules.问题是在内部项目中,有时我的require模块没有安装在这个项目中.但Node只是默默地在父项目中找到它们,node_modules这会导致恼人的惊喜.我可以以某种方式阻止它这样做吗?我不想改变项目的目录结构,除非它是唯一的解决方案.

node.js node-modules

10
推荐指数
1
解决办法
1441
查看次数

Inno Setup编译器"无法找到指定的路径"错误与长路径

我正在使用.iss脚本在Inno Setup Compiler中构建一个exe文件.我需要将一些node_modules打包到这个应用程序中,所以我有一行看起来像这样:[Files]

Source: "{#SourcePath}Encore.Warehouse.UI\bin\Warehouse_Release\warehouse\*"; \
    DestDir: "{app}\warehouse"; Flags: ignoreversion recursesubdirs createallsubdirs
Run Code Online (Sandbox Code Playgroud)

编译时,我收到此错误:

该系统找不到指定的路径.

这是编译器输出:

编译器输出

所以,它似乎运行正常,直到它中止.我最初的想法是,browser.js它不存在,但经过双重检查,情况并非如此.此外,我在源路径中使用通配符,因此编译器知道该文件存在,但似乎在压缩它时遇到问题.

另一个可能导致问题的是文件路径长度.由于嵌套依赖性,节点模块通常最终会出现荒谬的文件路径长度.在这种情况下,路径长度为260.假设这是造成问题的原因,有什么方法可以绕过它吗?

inno-setup max-path filepath node-modules

10
推荐指数
1
解决办法
2089
查看次数

节点模块问题:每个模块只允许一个默认导出

这是我们npm install在服务器上遇到的一个问题,它为node_modules加载了一组新的版本.

我们有一个看起来像的模块

export default class DemoComponent extend React.Component {
  render() {
    return(
      <h1>Hello</h1>
    );
  }
}

export default connect(
  mapStateToProps,
  { ... }
)(DemoComponent);
Run Code Online (Sandbox Code Playgroud)

在我们npm install加载新版本的开发依赖项之前,它曾经工作正常.

错误日志:

每个模块只允许一次默认导出.在FilePath.buildCodeFrameError(/home/workspace/node_modules/babel-core/lib/transformation/file/index.js:431:15)在NodePath.buildCodeFrameError(/ home/workspace/node_modules/babel-traverse/lib/path /) index.js:140:26)在newFn(/ home/workspace /)的PluginPass.exit(/home/workspace/node_modules/babel-plugin-transform-es2015-modules-commonjs/lib/index.js:253:29) NodePath.all上的NodePath._call(/home/workspace/node_modules/babel-traverse/lib/path/context.js:76:18)中的node_modules/babel -traverse/lib/visitorss.js:276:21) home/workspace/node_modules/babel -traverse/lib/path/context.js:48:17)在NodePath.visit上(/home/workspace/node_modules/babel-traverse/lib/path/context.js:117:8)在TraversalContext.visitQueue(/home/workspace/node_modules/babel-traverse/lib/context.js:150:16)的TraversalContext.visitSingle(/home/workspace/node_modules/babel-traverse/lib/context.js:108: 19)在TraversalContext.visit(/home/workspace/node_modules/babel-traverse/lib/context.js:192:19)在Function.traverse.node(/ ho)我/工作区/ node_modules /巴别-横动/ LIB/index.js:161:17)

node-modules ecmascript-6 reactjs babeljs npm-install

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

是什么原因导致与npm无法找到文件相关的错误?我的node_modules子文件夹中没有内容。这是为什么?

我试图npm install在从ASP.NET Boilerplate获得的有角度的项目文件夹中运行,并且遇到“与npm找不到文件有关的错误”。

D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>npm install
npm WARN deprecated @types/moment@2.13.0: This is a stub types definition for Moment (https://github.com/moment/moment). Moment provides its own type definitions, so you don't need @types/moment installed!
npm WARN codelyzer@3.2.2 requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@3.2.2 requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING …
Run Code Online (Sandbox Code Playgroud)

node.js npm node-modules aspnetboilerplate angular

10
推荐指数
3
解决办法
4万
查看次数

如何使用babel-loader转换node_modules模块?

问题:我想为较旧的浏览器(> = IE10)构建网站的捆绑文件。

我transpiled代码抛出旧的Internet Explorer 11的错误,当我transpile的代码babel 7.x使用babel-loader,因为它似乎node_modules模块将不会默认了transpiled?

问题:如果我的所有node_module模块都尚未被软件包作者转译,我如何确保所有模块都会被转译?

使用babel-loader的webpack.config.js

// webpack.config.js
rules: [
    {
        test: /\.(js|jsx)$/,
        use: [
            {
                loader: 'babel-loader',
            },
        ],
        exclude: [],
    },
],
Run Code Online (Sandbox Code Playgroud)

使用babel 7.x的babelrc.js配置

// .babelrc.js
module.exports = function(api) {
    const presets = [
        [
            '@babel/preset-env',
            {
                useBuiltIns: 'usage',
                ignoreBrowserslistConfig: true,
                targets: {
                    node: 8,
                    browsers: [
                        'last 3 versions',
                        '> 1% in DE',
                        'Explorer >= 10',
                    ],
                },
            },
        ],
        '@babel/preset-react',
    ];

    const plugins …
Run Code Online (Sandbox Code Playgroud)

javascript babel node-modules webpack babel-loader

10
推荐指数
1
解决办法
5335
查看次数

如何使用 Phusion Passenger 纠正此 ESM 错误?

我正在尝试使用 Phusion Passenger 在生产服务器上启动我的 NodeJS API。我使用了最后的 ECM 语法来导入/导出我的模块。然而,当尝试访问我的 api 时,Passenger 返回此错误消息:

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/***/api/server.mjs
    at Module.load (internal/modules/cjs/loader.js:948:11)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at Module.require (/opt/passenger/src/helper-scripts/node-loader.js:80:25)
    at require (internal/modules/cjs/helpers.js:92:18)
    at loadApplication (/opt/passenger/src/helper-scripts/node-loader.js:243:2)
    at setupEnvironment (/opt/passenger/src/helper-scripts/node-loader.js:214:2)
    at Object.<anonymous> (/opt/passenger/src/helper-scripts/node-loader.js:133:1)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) {
  code: 'ERR_REQUIRE_ESM'
Run Code Online (Sandbox Code Playgroud)

我的 package.json 中有该"type": "module"行,我尝试将扩展名从 .js 更改为 .mjs,但没有效果。

我注意到,乘客使用带有“require”语法的 CJS 来加载我的 server.js,如下所示: https: //github.com/phusion/passenger/blob/stable-6.0/src/helper-scripts/node-loader .js

function loadApplication() {
    var appRoot = PhusionPassenger.options.app_root || process.cwd(); …
Run Code Online (Sandbox Code Playgroud)

javascript passenger node.js node-modules

10
推荐指数
2
解决办法
4077
查看次数

“请求的模块'不提供名为'default'的导出”错误,但仅在相对导入中

我从外部有这个 api 模块。当它作为 node_module 安装时(使用 npm install),然后执行如下导入即可:

import MyAPI from 'api'
Run Code Online (Sandbox Code Playgroud)

但是,当我查看 node_modules 中的 api 文件夹并取出 api.js (该模块的入口点)并执行如下相对导入时:

import MyAPI from './api.js'
Run Code Online (Sandbox Code Playgroud)

然后我得到错误:

"The requested module ./api.js does not provide an export named 'default'"
Run Code Online (Sandbox Code Playgroud)

我无法控制 api 模块的构建方式。它如何在一种情况下起作用,而在另一种情况下不起作用?这是节点 12。

javascript node-modules

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