遇到问题总结
ora模块问题
- 安装版本v6+, import ora from 'ora'出现报错的情况的话, 可安装v5+版本
- v5版本 是用commonjs模块的
- v6版本 是ES模块
npm i -S ora@5
使用ESM模块问题
如何将我的 CommonJS 项目移动到 ESM / 如何让我的 TypeScript 项目输出 ESM?
- 参考:https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#readable-named-exports
- 参考:https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#readable-named-exports
优雅读取package.json
const pkg = fs.readFileSync('./package.json')
const json = JSON.parse(pkg)
webpack-dev-server问题
V3版本和V4版本区别:
const compiler = Webpack(devConfig);
const devServer = new WebpackDevServer(
{ hot: true, open: true, host: "localhost", port: 8000 },
compiler
);
devServer.startCallback(() => {
console.log("启动中...");
});
发布遇到的坑
- 由于带有 @ 前缀的 npm 包会默认作为私人包
- 因此,第一种方式是花钱买私有包的服务,另外一种方式就是指定参数,表示公开:
npm publish --access public
需要注意的是这种形式的包名跟 npm 账户有对应关系,不能随便填写。
npm init --scope=@my-org
这种形式表示是一个组织,my-org 对应是 npm 中的组织名。
npm init --scope=@my-username
这种形式表示是个人,my-username 对应是 npm 中的用户名。