如何知道运行“server.js”?

我打开了一个我几个月没有碰过的实验性快速项目,我试图追踪一切如何工作来更新我的理解。

我感到困惑的是,我的快速应用程序是从一个名为server.js的文件运行的,但是在我的package.json文件中没有指定,也没有在node_modules文件夹中提到这样的文件名为快递。 它虽然工作,除非我重命名文件(例如server_.js)。 我没有在package.json中设置脚本。 无论我在package.json中为“main”指定什么,都没有任何效果。

那么npm如何知道从server.js运行应用程序呢?

{ "name": "my thing", "version": "0.0.1", "description": "This is my thing.", "main": "index.js", "scripts": { "test": "test" }, "repository": { "type": "git", "url": "my-thing" }, "author": "Faust", "license": "ISC", "dependencies": { "babel-core": "^6.25.0", "babel-loader": "^7.1.1", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "material-ui": "^1.0.0-beta.4", "material-ui-icons": "^1.0.0-alpha.19", "express": "^4.15.4", "react": "^15.6.1", "react-dom": "^15.6.1", "react-redux": "^5.0.5", "react-router": "^4.1.2", "react-router-dom": "^4.1.2", "redux": "^3.7.2", "webpack": "^3.3.0" } } 

ls根: data/ entry.jsx node_modules/ npm-debug.log package.json public/ server.js src/ webpack.config.js

从官方NPM文档 –

npm start运行包的“scripts”对象的“start”属性中指定的任意命令。 如果在“scripts”对象上没有指定“start”属性,它将运行节点server.js。

在这里阅读更多。