1
wukaichao 2018-05-18 09:14:55 +08:00
会不会还没运行到 log 的时候就已经中断了?
|
2
noe132 2018-05-18 09:16:46 +08:00 via Android
有可能 log 所在 shell 不是当前 shell 而是 node 后台 spawn 出来的,并且 stdout 没有处理
|
3
miketeam 2018-05-18 09:22:53 +08:00 via iPhone
你 html 的头部是!html
吗 |
4
justicelove 2018-05-18 09:29:42 +08:00
赶紧给浏览器厂商提 BUG,肯定是浏览器的问题
|
8
csx163 2018-05-18 09:49:05 +08:00
看一下编码,上次 gbk 的没有输出
|
9
KeepPro 2018-05-18 09:50:48 +08:00 via Android
有可能是 console 函数被覆盖了。
|
10
dr490n 2018-05-18 09:53:43 +08:00
这种问题请先把 package.json 里面的 scripts 和你启动服务端的命令发出来啊?
没有代码怎么一步步帮你定位问题呢? (是不是跑生产环境的配置了,有的配置里面生产环境会忽略掉 console 输出的……) |
11
abowloflrf 2018-05-18 10:12:22 +08:00 via iPhone
还有一种原因 是不是把 chrome 控制台的 log 输出级别手抖改了?需要改 default 或者把 info 勾上。
|
12
chenqy930 OP @dr490n
"scripts": { "build:dev": "npm run clean && npm run preprocess && npm run webpack -- --watch", "build": "npm run clean && npm run preprocess && npm run webpack", "clean:dist": "npm run rimraf -- dist", "clean": "npm cache clean && npm run clean:dist", "lint": "eslint src/**/*.js", "node": "node", "preprocess": "node config/preprocess.js", "rimraf": "rimraf", "server": "node server/index.js", "start": "npm run build && npm run server", "test": "echo \"Error: no test specified\" && exit 1", "webpack": "webpack --config webpack.config.js --progress --profile", "yarn": "yarn --ignore-engines" }, 刚注意看了一下输出, 2018-05-18T00:47:17.942Z [INFO] config: {"env":"production","logLevel":"silly","serverPort":8080} 2018-05-18T00:47:17.950Z [INFO] Webportal server starts on port 8080 2018-05-18T00:47:42.867Z [WARN] Error: Page not found 确实是在 production, 然后我在配置文件中改成了 development, 还是没有输出>< 2018-05-18T02:14:09.554Z [INFO] config: {"env":"development","logLevel":"silly","serverPort":8080} |
13
will0404 2018-05-18 10:24:29 +08:00
楼上很多人看不到 nodejs 节点吗?跟 html 和浏览器有什么关系。
首先这个可能性确实很多而你提供的信息太少。 你既然提到了 webpack,莫非你 node 运行的代码是编译后的?那么有可能是编译期间 console 被去掉了,检查一下 webpack 配置吧。 理论上后端代码不需要编译,我猜你是用了新语法所以用了 webpack+babel 吧。 |
14
chenqy930 OP @will0404
1、package.json 中没有看到 babel 模块,所以应该没有用到 babel。 2、运行前确实有个一分钟左右的编译过程,webpack 配置的话有一个文件是 webpack.common.js ,里面的模块有 entry、output、resolve、module、plugins 和 node,哪块会是跟 console 被去掉有关的呢? |
15
will0404 2018-05-18 11:12:01 +08:00
|
16
Solace202 2018-05-18 11:26:33 +08:00
换个浏览器试试呗,
|
17
Solace202 2018-05-18 11:29:45 +08:00
或者 webpack 打包完后,在打包好的文件中找找你的 console 还在不在,不在说明被过滤了,自己新加上去
|
18
lastpass 2018-05-18 11:43:25 +08:00 via Android
emmm,你可以在浏览器上打断点,然后手动输命令输出。
|
19
Yokira 2018-05-18 11:44:23 +08:00
最快的办法就是搜索项目里面已经存在的日志输出方法,看看之前的代码是如何做 debug 的。
还有就像楼上说的,需要看 webpack 是编译前端还是后端,如果跟后端没关系的话,就不用看 webpack 了。 另外需要注意的是如果你在前端代码 debug,shell 里面是看不到的,需要去浏览器里面看(这个估计没人会犯)。 使用了 winston 的话,会创建一个 logger,打印日志用这个 logger。 还不行的话,把 build:dev 里面的 npm run preprocess 拿出去,自己单独先启动 node,然后再开 webpack,不过我感觉不是这个原因。 |
20
YenvY 2018-05-18 12:56:16 +08:00
换成 console.warn 看一眼
|
21
chenqy930 OP @Yokira 怎么看 webpack 是编译前端还是后端呀.. 我就是用的 npm start...
另外好像找不到项目用来输出其他调试信息的代码,用到 winston 模块的只在这一段, app.use((err, req, res, next) => { logger.warn('%s', err.stack); res.status(err.status || 500).json({ message: err.message, error: config.env === 'development' ? err.stack : {} }); }); 输出的信息类似于: 2018-05-18T09:39:12.701Z [INFO] GET /view.html 304 0.330 ms - - 2018-05-18T09:39:12.709Z [INFO] GET /styles/view.bundle.css 304 0.638 ms - - 2018-05-18T09:39:12.709Z [INFO] GET /styles/layout.bundle.css 304 0.913 ms - - 2018-05-18T09:39:12.710Z [INFO] GET /scripts/view.bundle.js 304 1.225 ms - - |
23
lululau 2018-05-18 17:53:26 +08:00
用了 nodemon 之类的了吧
|