【问题标题】:The term 'nodemon' is not recognized as the name of a cmdlet, function, script file, or operable program术语“nodemon”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称
【发布时间】:2020-11-21 06:51:21
【问题描述】:

我是 nodejs 的新手,当我尝试运行程序时出现错误,例如“术语 nodemon 无法识别 cmdlet、函数、脚本文件或可操作函数的名称”请帮助

index.js

 // Thos is node server Node server which will handle socket io
    // if new user is joined then socket.io fire
    
    const io = require('socket.io')(7000)
    
    const users = {};
    
    io.on('connection', socket =>{
        socket.on('new-user-joined',name => {
            // console.log('New User', name);
            users[socket.id] = name;
            socket.broadcast.emit('user-joined',name)
        });
    
        //if someone send the message,it call to other people
        socket.on('send', message => {
            socket.broadcast.emit('receive',{message: message, name: users[socket.id]})
        });
    
       // if someone leave the chat let other know
        socket.on('disconnect', message => {
            socket.broadcast.emit('left',users[socket.id]);
            delete users[socket.id];
        });
    });  

client.js

这是我的客户端文件,我在其中定义了我的所有任务,例如应该在哪里接收消息,应该在哪里发送消息等

   const socket = io('http://localhost:7000');


const form = document.getElementById('send-container');
const messageInput = document.getElementById('messageInp');
const messageContainer = document.querySelector('.container');


var audio = new Audio('whistle.mp3');

const append = (message,position) => {
    const messageElement = document.createElement('div')
    messageElement.innerText = message;
    messageElement.classList.add('message');
    messageElement.classList.add(position);
    messageContainer.append(messageElement);
    if(position =='left'){
    audio.play();
    }
}


 const name = prompt("Enter Your Name to join");
socket.emit('new-user-joined',name)


socket.on('user-joined', name =>{
    append(`${name} joined the chat`,'right');
})

socket.on('receive', data =>{
    append(`${data.name}: ${data.message}`,'left');
})



socket.on('left', name =>{
    append(`${name}: left the chat`,'right');
})


form.addEventListener('submit',(e)=>{
    e.preventDefault();
    const message = messageInput.value;
    append(`You: ${message}`, 'right');
    socket.emit('send',message);
    messageInput.value = '';
})

【问题讨论】:

  • 你安装了nodemon吗?
  • 尝试运行“npm i nodemon -g”来安装nodemon
  • 代码与nodemon无关。尝试运行$ npm g -i nodemon
  • @AdamAzad 最好不要在命令示例中包含$
  • @evolutionxbox,我一直认为$ 是终端,即使我自己使用的是 Windows,是吗? ;)

标签: javascript html css node.js socket.io


【解决方案1】:

您可以为单个项目设置 nodemon,如下所示。

  1. npm init -y

这将在项目的根目录中创建 package.json 文件

  1. npm install nodemon

  2. 在 package.json 文件中...在脚本下添加这个...

注意我是如何添加的

"server" : "nodemon server.js"

保存这个 package.json 文件

然后在终端...运行

npm run server

然后 nodemon 将开始运行...并跟踪更改。

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多