duX*_*ing 11 javascript node.js npm package.json es6-modules
从Node v8.5.0开始,支持ES6样式模块
import x from 'x'
Run Code Online (Sandbox Code Playgroud)
已使用该选项运行节点--experimental-modules,如下所示:
node --experimental-modules test.mjs
使用bin密钥package.json可以通过运行轻松创建cli工具npm clinpm link.
不幸的是,当以这种方式运行时,调用节点而没有可选--experimental-modules标志.
你怎么用bin模块--experimental-modules?
这是一个例子
斌/ healthcheck.mjs
import { connect } from 'amqplib'
let open = connect(process.env.RABBITMQ_URL);
const exit = ({healthy = true}) => {
return healthy ? process.exit(0) : process.exit(1)
}
open.then(() => {
exit({healthy: true})
}).catch((e) => {
exit({healthy: false})
})
Run Code Online (Sandbox Code Playgroud)
的package.json
{
"name": "my-cli",
"bin": {
"healthcheck": "./bin/healthcheck.mjs"
}
}
Run Code Online (Sandbox Code Playgroud)
运行...
> npm link
> healthcheck
/usr/local/bin/healthcheck: line 1: import: command not found
/usr/local/bin/healthcheck: line 3: syntax error near unexpected token `('
/usr/local/bin/healthcheck: line 3: `let open = connect(process.env.RABBITMQ_URL);'
Run Code Online (Sandbox Code Playgroud)
您可以在脚本顶部使用shebang
#!/bin/sh
":" //# comment; exec /usr/bin/env node --experimental-modules "$0" "$@"
Run Code Online (Sandbox Code Playgroud)
此处有更多详细信息:http : //sambal.org/2014/02/passing-options-node-shebang-line/
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |