nodejs搭建本地服务器来访问本地文件

3,005 阅读1分钟

有时候会有这么一个需求,本地写了一个demo需要同局域网的同事看一下,或者写了一个移动端的demo需要手机上进行调试,或者demo里要使用es6的语法,网页打开HTML文件就无法实现,需要在本地起一个node环境,具体的步骤如下:

1、npm init

这个时候文件夹下会出现一个package.json文件

2、npm install

3、安装http-server和anywhere

npm install http-server -g

npm install -g anywhere

安装完输入anywhere -p 8085

常见问题

anywhere : 无法加载文件 C:\Users\1\AppData\Roaming\npm\anywhere.ps1,因为在此系统上禁止运行脚本。
有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ ~~~~~~~~
    + FullyQualifiedErrorId : UnauthorizedAccess
    

上网查了一下,说是执行策略有问题解决方案如下:

以管理员身份打开这个文件夹

执行:get-ExecutionPolicy 获取状态是Restricted,这证明是禁用的

执行:set-ExecutionPolicy RemoteSigned

如果没有管理员权限执行命令:

set-ExecutionPolicy : 
对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动 Wi     
ndows PowerShell。要更改当前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
所在位置 行:1 字符: 1
+ set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

可以执行:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

再执行:get-ExecutionPolicy 状态就变成了Restricted

这个时候再执行 anywhere -p 8085,就可以完美的成功了