运行环境
- node: v10.15.3
- npm: 6.4.1
- 使用VSCode的
Code Runner
插件运行
运行的代码
import * as date_fns from \"date-fns\"console.log(date_fns.isValid(new Date(\"abc\")))console.log(date_fns.isValid(new Date(\"2020-06-28 17:26:03\")))
异常信息
d:\\Project\\TypeScript\\markdown\\Date\\use_date.js:1(function (exports, require, module, __filename, __dirname) { import * as date_fns from \"date-fns\"^SyntaxError: Unexpected token *at new Script (vm.js:80:7)at createScript (vm.js:274:10)at Object.runInThisContext (vm.js:326:10)at Module._compile (internal/modules/cjs/loader.js:664:28)at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)at Module.load (internal/modules/cjs/loader.js:600:32)at tryModuleLoad (internal/modules/cjs/loader.js:539:12)at Function.Module._load (internal/modules/cjs/loader.js:531:3)at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)at startup (internal/bootstrap/node.js:283:19)
分析
为什么会出现这样的错误呢?笔者纠结了半天,查找资料也没有太好的解决方式,看错误信息是导入
date_fns
这个库出现的问题,但仔细检查,这个库也导入,在VSCode上编写也没有提示任何错误,但为什么不能运行呢?后来在同事的帮助下,说
import
是ES6语法, 较新, 可能会导致js无法运行,换成
require
试试。
解决
let date_fns = require(\"date-fns\")console.log(date_fns.isValid(new Date(\"abc\")))console.log(date_fns.isValid(new Date(\"2020-06-28 17:26:03\")))
falsetrue