无法编译:Angular 5中的./node_modules/macaddress/lib/windows.js

时间:2018-09-09 06:04:00

标签: angular typescript angular5

我是Angular 5的新手,根据我的业务需要,我需要获取用户计算机的 mac 地址。为此,我尝试实现以下内容...

enter image description here

参考:https://www.npmjs.com/package/macaddress

npm install --save macaddress

我已经使用NPM和我的打字稿文件中的以下代码添加了此软件包。

var macaddress = require('macaddress'); //added this code below my imports

 ngOnInit() {
    macaddress.one(function (err, mac) {
      console.log("Mac address for this host: %s", mac);  
    });
}

添加此代码后,我无法运行我的项目,并且它显示黑屏,并显示上述错误。

任何人都可以帮我解决这个问题。

编辑:./node_modules/macaddress/lib/windows.js 找不到模块:错误:无法解析'D:\ Projects \ Angular \ eCommerceWebsite \ node_modules \ macaddress \ lib'中的'child_process' 错误@ vendor.js:158535

在控制台中找到了它。

更新:

enter image description here

2 个答案:

答案 0 :(得分:2)

您不能通过Angular应用程序使用此库。出于安全原因,您根本无法从浏览器查询用户的mac地址。该库旨在用于服务器端的node.js应用程序,与任何客户端应用程序无关。 More info here

答案 1 :(得分:-1)

这是在应用模块文件app.module.ts中添加模块的示例,例如“ BrowserModule”

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent }  from './app.component';

@NgModule({
 imports:      [ BrowserModule ],
 declarations: [ AppComponent ],
 bootstrap:    [ AppComponent ]
})
export class AppModule { }