跳到主要内容

遇到问题总结

ora模块问题​

  • 安装版本v6+, import ora from 'ora'出现报错的情况的话, 可安装v5+版本
    • v5版本 是用commonjs模块的
    • v6版本 是ES模块
text
npm i -S ora@5

使用ESM模块问题​

如何将我的 CommonJS 项目移动到 ESM / 如何让我的 TypeScript 项目输出 ESM?

优雅读取package.json​

js
const pkg = fs.readFileSync('./package.json')
const json = JSON.parse(pkg)

webpack-dev-server问题​

V3版本和V4版本区别:

js
const compiler = Webpack(devConfig);
const devServer = new WebpackDevServer(
{ hot: true, open: true, host: "localhost", port: 8000 },
compiler
);
devServer.startCallback(() => {
console.log("启动中...");
});

发布遇到的坑​

  • 由于带有 @ 前缀的 npm 包会默认作为私人包
  • 因此,第一种方式是花钱买私有包的服务,另外一种方式就是指定参数,表示公开:
shell
npm publish --access public

需要注意的是这种形式的包名跟 npm 账户有对应关系,不能随便填写。

shell
npm init --scope=@my-org

这种形式表示是一个组织,my-org 对应是 npm 中的组织名。

shell
npm init --scope=@my-username

这种形式表示是个人,my-username 对应是 npm 中的用户名。