小编Hon*_*arc的帖子

Webpack 4和Uglify插件(TypeError:无法读取未定义的属性'length')

我在Linux机器上遇到Webpack 4问题.构建在开发模式下工作正常,但在生产中失败.它似乎也在Windows机器上工作.我确实尝试将webpack降级到旧版本而没有任何内容.

Nodejs:v10.2.1

 *TypeError: Cannot read property 'length' of undefined* at node_modules/uglifyjs-webpack-plugin/dist/uglify/index.js:59
        this.workers = workers === true ? _os2.default.cpus().length - 1 : Math.min(Number(workers) || 0, _os2.default.cpus().length - 1);
Run Code Online (Sandbox Code Playgroud)

packge.json

{
  "name": "webpack-demo",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "build": "webpack -p"
  },
  "devDependencies": {},
  "dependencies": {
    "@types/node": "^10.5.1",
    "css-loader": "^0.28.11",
    "global": "^4.3.2",
    "node-sass": "^4.9.1",
    "npm": "^6.1.0",
    "sass-loader": "^7.0.3",
    "style-loader": "^0.21.0",
    "ts-loader": "^4.4.2",
    "typescript": "^2.9.2",
    "uglifyjs-webpack-plugin": "1.0.0-beta.2",
    "webpack": "^4.15.1",
    "webpack-cli": "^3.0.8"
  }
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

const path = require('path');
const UglifyJsPlugin = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js webpack webpack-plugin yarnpkg

5
推荐指数
1
解决办法
6575
查看次数

安装后的 NPM 构建包

我用 react 和 typescript 做了一个包。由于打字稿如何处理类和接口的发布,我需要构建包并在每次更改时提交构建的文件。有没有办法告诉 npm,它必须在"npm install"或之后构建特定的包"yarn install"

我尝试添加"postinstall": "npm run build""prepare": "npm run build"但似乎安装包的项目在他自己的根目录中运行此命令,因此它会自行构建,而不仅仅是包。

我想到了这样的事情:

  1. 在项目中编码
  2. yarn add packageX
  3. yarn install
  4. packageXnpm run build在它自己的目录中运行
  5. 在 packageX 中进行更改
  6. yarn update packageX
  7. packageXnpm run build在它自己的目录中运行
  8. yarn build在项目根目录下运行
  9. 项目自行构建

有没有办法做到这一点?

感谢您的回答。

javascript npm package.json npm-scripts yarnpkg

5
推荐指数
0
解决办法
276
查看次数

React App在`npm start`期间工作,但在构建后返回404

我正在开发React App,在期间一切正常npm start。在npm run build运行serve -s build并在build文件夹下运行后,终端告诉我它正在提供服务,但是当我结帐时http://localhost:5000/,它是

404找不到要求的路径

然后,我安装了实时服务器并live-server在build文件夹下运行,该应用程序再次正常运行。但是我不明白为什么serve -s build不能正常工作。

有任何想法吗?

npm reactjs server yarnpkg

5
推荐指数
1
解决办法
1218
查看次数

在代理后面安装Bower Package

我正在努力与Bower在我公司网络后面的安装工作.尽管设置了npm代理和bower代理(在.bowerrc文件中),正如许多其他帖子所建议的那样,我仍然会收到此错误:

凉亭ECONNREFUSED请求https://bower.herokuapp.com/packages/bootstrap-sass-official失败:连接ECONNREFUSED

在另一方面节点,npm并且grunt似乎运作良好.任何人都可以帮助解决有关如何解决问题的其他想法吗?

proxy node.js gruntjs bower

4
推荐指数
1
解决办法
7224
查看次数

Mongoose聚合返回空结果

我有一个mongoose聚合请求的问题.

这让我疯狂,因为我无法在任何地方找到解决方案.我会非常感谢任何支持.

架构:

var EvalSchema = new Schema({
    modified: {type: Date, default: Date.now},
    created : {type: Date, default: Date.now},
    username: {type: String, required: true},
    item: {type: String, required: true},
    criteria: [{
        description: {
            type: String
        },
        eval: {
            type: Number
        }
    }]
});
mongoose.model('Eval', EvalSchema);
Run Code Online (Sandbox Code Playgroud)

我正在使用聚合来计算给定项目的每个标准的评估总和.

Eval.aggregate([{
    $match: {
        item: item.id
    }
}, {
    $unwind: "$criteria"
}, {
    $group: {
        _id: "$criteria.description",
        total: {
            $sum: "$criteria.eval"
        },
        count: {
            $sum: 1
        }
    }
}, {
    $project: {
        total: 1,
        count: …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

4
推荐指数
1
解决办法
2401
查看次数

压缩内容的 XMLHttpRequest 进度事件问题(FireFox 除外)

在我的应用程序中,我使用 API 请求大型 JSON 文件XMLHttpRequest。这按预期工作。

我想在用户等待时显示进度条。一些 JSON 文件大小在 6 到 10 Mb 以上,因此进度条将有助于改善整体体验。

这是我正在做的事情的一个例子:

var progress = document.getElementById('progress');

function getData(url) {
    var req = new XMLHttpRequest();

  req.onprogress = function(event) {
    if (event.lengthComputable) {
      progress.value = event.loaded / event.total * 100;
    } else {
      console.log('lengthComputable failed');
    }
  }

  req.onload = function() {
    console.log('Finished loading');
    // ... handle data
  }

  req.open('GET', url, true);
  req.overrideMimeType('application/json');
  req.send(null);
}

getData('https://raw.githubusercontent.com/datasets/geo-countries/master/data/countries.geojson');
Run Code Online (Sandbox Code Playgroud)

另外在 jsfiddle 上: https: //jsfiddle.net/ctL5f73s/1/

如果内容未经过 gzip 压缩,则进度条似乎在我迄今为止测试过的所有浏览器上都能正常工作。但如果服务器将其作为 gzip 发送,则只有 Firefox 可以工作。

作为上下文,我正在从 …

javascript json google-chrome xmlhttprequest progress-bar

4
推荐指数
1
解决办法
1509
查看次数

在使用git-tracked heroku项目时,如何安全地存储.pem文件?

我有一个git-tracked repo,我正在设置它与APN合作进行IOS推送通知.我正在尝试以与PushNotificationSample类似的方式实现npm模块node-apn

在这段代码中,有

var options = {
    gateway: 'gateway.sandbox.push.apple.com', // this URL is different for Apple's Production Servers and changes when you go to production
    errorCallback: callback,
    cert: 'your-cert.pem', // ** NEED TO SET TO YOURS - see this tutorial - http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
    key:  'your-key.pem',  // ** NEED TO SET TO YOURS
    passphrase: 'your-pw', // ** NEED TO SET TO YOURS
    port: 2195,                       
    enhanced: true,                   
    cacheLength: 100                  
}
Run Code Online (Sandbox Code Playgroud)

但是,我是如何在不将它们提交给Github的情况下引用我的.pem文件的?

目前,我正在部署到Heroku.

git heroku pem node.js

4
推荐指数
1
解决办法
2063
查看次数

Amazon EC2错误:收听EACCES 0.0.0.0:80

我已经将HTTP TCP端口80添加到入站规则中,但我仍然收到错误:

Error: listen EACCES 0.0.0.0:80
    at Object._errnoException (util.js:992:11)
    at _exceptionWithHostPort (util.js:1014:20)
    at Server.setupListenHandle [as _listen2] (net.js:1338:19)
    at listenInCluster (net.js:1396:12)
    at doListen (net.js:1505:7)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    at Function.Module.runMain (module.js:695:11)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:612:3
Run Code Online (Sandbox Code Playgroud)

http amazon-ec2 node.js vue.js yarnpkg

4
推荐指数
2
解决办法
2875
查看次数

Rollup包axios,无法使用

项目中使用的是axios,然后使用rollup进行打包。

在浏览器端,这是正常的。但是在nodejs端就报错。

错误信息:

node test\test.js
error
ReferenceError: XMLHttpRequest is not defined
    at dispatchXhrRequest (D:\Project\NodeJs\rollup-axios-error-demo\dist\demo.js:684:21)
    at new Promise (<anonymous>)
    at xhrAdapter (D:\Project\NodeJs\rollup-axios-error-demo\dist\demo.js:676:12)
    at dispatchRequest (D:\Project\NodeJs\rollup-axios-error-demo\dist\demo.js:1082:12)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
Run Code Online (Sandbox Code Playgroud)

我创建了一个演示可供您查看:rollup-axios-error-demo

axios源码区分运行环境的代码为:

function getDefaultAdapter() {
  var adapter;
  if (typeof XMLHttpRequest !== 'undefined') {
    // For browsers use XHR adapter
    adapter = require('./adapters/xhr');
  } else if (typeof process !== 'undefined') {
    // For node use HTTP adapter
    adapter = require('./adapters/http');
  }
  return adapter;
} …
Run Code Online (Sandbox Code Playgroud)

rollup node.js axios

4
推荐指数
1
解决办法
2045
查看次数

使用 npm 发布时动态添加要忽略的文件夹

我有一个静态.npmignore文件

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

在里面。当我发布到 NPM 时,这 3 个目录中的内容将被忽略。

我的问题是,有没有办法动态添加npm publish在命令行使用时忽略的文件夹?

就像是:

npm publish --ignore=.r2g
Run Code Online (Sandbox Code Playgroud)

这里我们可以忽略一个名为的文件夹.r2g

这是npm-publish 文档

node.js npm npm-publish

4
推荐指数
1
解决办法
1296
查看次数