使用角度为6的节点路径模块

时间:2018-09-14 17:11:40

标签: node.js angular typescript path

我正在尝试在Angular 6项目中使用模块Path。

我找到了此帖子来解决此问题:

https://gist.github.com/niespodd/1fa82da6f8c901d1c33d2fcbb762947d

它说要添加一个脚本:

bot.FindElementByXPath("//*[text()='is not refunded']").Click

并在package.json中声明它:

arrayValue=[
    { value: 1}, 
    { value: 2}, 
    { value: "line break"}, 
    { value: 3}, 
    { value: 4}, 
    { value: "line break"}, 
    { value: 1}, 
    { value: 1}
]

但是当我试图在服务中使用它时,只需像这样导入它:

const fs = require('fs');
const f = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js';

fs.readFile(f, 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var result = data.replace(/node: false/g, 'node: {crypto: true, stream: true}');

  fs.writeFile(f, result, 'utf8', function (err) {
    if (err) return console.log(err);
  });
});

它说找不到模块Path。


我该如何纠正?

2 个答案:

答案 0 :(得分:3)

有趣的问题。

我设法在我的Angular项目中使用Path模块。

这是步骤。我使用节点8,角度6。

1:安装路径。

LEN

这是发布到NPM注册表中的NodeJS“路径”模块的精确副本。

2,我也安装了@ types / node,就像我们使用打字稿的Angular一样。 尽管后来我删除了此模块,但路径模块似乎仍然有效。

3,使用

运行上述脚本
  npm install path 

我手动运行它,然后转到“ node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js”以检查实际更改的文件。

4,我放

node patch.js

在我的component.ts文件之一中

  import {join} from 'path';

在组件的onInit()函数中。

并运行 let x = join('Users', 'Refsnes', '..', 'demo_path.js'); console.log("-------------------------------------------------"); console.log(x);  加载网页时,我在控制台中看到了预期的输出。

"ng serve"

因此此方法确实有效。我不确定您做错了哪一步。我的猜测将是第一步,因为如果尝试不执行步骤3,则会出现不同的错误消息。请检查您的node_modules文件夹并确认路径文件夹存在,并在必要时重新安装。

答案 1 :(得分:0)

  1. 确保已安装节点类型:npm install --save-dev @types/node
  2. 导入路径:import * as path from 'path';