我正在尝试为节点安装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库?
我有excel表与数据列表.
这一步工作得很好.但之后我需要格式化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) node_modules尽管该文件夹被排除在外,但仍存在几个关于为什么抛出错误的github问题tsconfig.json.如果importlib上有任何内容,则忽略该exclude属性.
但是,当使用更严格的编译器选项(即strictNullChecks,noUnusedLocals...)并引用任何未设计用于这些选项的lib时,会引发错误.
因此,每当使用这样的lib时,总是决定不使用lib或不使用编译器选项.但是有大型库/框架不支持这些选项(即Angular),所以似乎没有办法使用这些选项来确保在自己的项目中进行严格的检查.
我是否错过了避免抛出node_modules错误的可能性?如果没有,是否有任何技术要求将这些规则应用于所有导入的库或这种行为背后的原因是什么?
我的Node项目的根目录位于一个目录中,该目录本身是另一个Node项目的根目录.所以这两个文件夹包含package.json和node_modules.问题是在内部项目中,有时我的require模块没有安装在这个项目中.但Node只是默默地在父项目中找到它们,node_modules这会导致恼人的惊喜.我可以以某种方式阻止它这样做吗?我不想改变项目的目录结构,除非它是唯一的解决方案.
我正在使用.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.假设这是造成问题的原因,有什么方法可以绕过它吗?
这是我们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)
我试图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) 问题:我想为较旧的浏览器(> = IE10)构建网站的捆绑文件。
我transpiled代码抛出旧的Internet Explorer 11的错误,当我transpile的代码babel 7.x使用babel-loader,因为它似乎node_modules模块将不会默认了transpiled?
问题:如果我的所有node_module模块都尚未被软件包作者转译,我如何确保所有模块都会被转译?
// webpack.config.js
rules: [
{
test: /\.(js|jsx)$/,
use: [
{
loader: 'babel-loader',
},
],
exclude: [],
},
],
Run Code Online (Sandbox Code Playgroud)
// .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) 我正在尝试使用 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) 我从外部有这个 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。
node-modules ×10
javascript ×4
node.js ×4
angular ×1
babel ×1
babel-loader ×1
babeljs ×1
ecmascript-6 ×1
filepath ×1
inno-setup ×1
libpng ×1
max-path ×1
npm ×1
npm-install ×1
passenger ×1
png ×1
reactjs ×1
typescript ×1
webpack ×1