我破解了一个我几个月没碰过的实验性快递项目,我试图追踪一切是如何起作用来刷新我的理解。
令我感到困惑的是,我的快递app是从一个名为server.js的文件中运行的,但是我的package.json中没有指定,也没有对这样的文件名(如默认值)的引用用于express的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
答案 0 :(得分:3)
来自官方NPM文档 -
npm start运行包中指定的任意命令" start"其脚本的属性"宾语。如果没有"开始"属性在"脚本中指定"对象,它将运行节点server.js。
了解更多here。