Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 什么';s src/***和'之间的差异;src/***和#x27;_Node.js_Typescript_Nodemon - Fatal编程技术网

Node.js 什么';s src/***和'之间的差异;src/***和#x27;

Node.js 什么';s src/***和'之间的差异;src/***和#x27;,node.js,typescript,nodemon,Node.js,Typescript,Nodemon,我想用nodemon "scripts": { "start": "tsc && node build/index.js", "watch-server1": "nodemon --watch src/**/* -e ts,tsx --exec ts-node ./src/index.ts", "watch-server2": "nodem

我想用
nodemon

"scripts": {
  "start": "tsc && node build/index.js",
  "watch-server1": "nodemon --watch src/**/* -e ts,tsx --exec ts-node ./src/index.ts",
  "watch-server2": "nodemon --watch 'src/**/*' -e ts,tsx --exec 'ts-node' ./src/index.ts"
},
但是当我使用
watch-server1
时:

(node:6830) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/leonsux/Desktop/Code/home/src/router/index.js:5
export default router;
^^^^^^

SyntaxError: Unexpected token 'export'
    at wrapSafe (internal/modules/cjs/loader.js:1167:16)
    at Module._compile (internal/modules/cjs/loader.js:1215:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
    at Module.load (internal/modules/cjs/loader.js:1100:32)
    at Function.Module._load (internal/modules/cjs/loader.js:962:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at main (/Users/leonsux/Desktop/Code/home/node_modules/ts-node/src/bin.ts:198:14)
    at Object.<anonymous> (/Users/leonsux/Desktop/Code/home/node_modules/ts-node/src/bin.ts:288:3)
    at Module._compile (internal/modules/cjs/loader.js:1251:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
[nodemon] app crashed - waiting for file changes before starting...
(节点:6830)警告:要加载ES模块,请在package.json中设置“type”:“module”或使用.mjs扩展名。
(使用`node--trace warnings…`显示警告的创建位置)
/Users/leonsux/Desktop/Code/home/src/router/index.js:5
导出默认路由器;
^^^^^^
SyntaxError:意外标记“导出”
在wrapSafe(内部/modules/cjs/loader.js:1167:16)
at模块编译(内部/modules/cjs/loader.js:1215:27)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:1272:10)
在Module.load(内部/modules/cjs/loader.js:1100:32)
at Function.Module._load(内部/modules/cjs/loader.js:962:14)
在Function.executeUserEntryPoint[作为runMain](internal/modules/run_main.js:72:12)
在main(/Users/leonsux/Desktop/Code/home/node_modules/ts node/src/bin.ts:198:14)
反对。(/Users/leonsux/Desktop/Code/home/node_modules/ts node/src/bin.ts:288:3)
at模块编译(内部/modules/cjs/loader.js:1251:30)
在Object.Module._extensions..js(internal/modules/cjs/loader.js:1272:10)
[nodemon]应用程序崩溃-正在等待文件更改,然后再启动。。。
当我使用
watch-server2
时,它工作得很好


那么,
src/***
'src/***'

在参数传递到
nodemon
之前,您的shell(例如bash)将扩展像
*
这样的不带引号的shell字符

在单引号中引用它们将保护它们不被shell扩展,因此
nodemon
将作为参数传递文本字符串
src/***
。(它可以通过扩展通配符本身来做它喜欢做的事情。)

这会产生巨大差异的一个例子:

scp 'remoteserver:*.txt' .
与:

scp remoteserver:*.txt .
引用
*
允许scp打开到远程服务器的安全连接,并查看其中存在哪些文件


如果您的本地shell扩展了
*
,它只会在您的本地计算机上查找名为“remoteserver:foo.txt”的文件,可能找不到任何文件。

+1。请注意,在许多shell中,如果找不到匹配项,则只保留fileglob;所以像scp remoteserver:.txt.这样的东西可能会起作用。直到它没有。(这是POSIX指定的行为,也是带有默认设置的Bash的行为。)@ruakh我没有意识到这一点。我主要使用tcsh,如果fileglob无法扩展,它只会说“command:no match”。