为了更快的开发,我有兴趣将NEXT.js项目的一个文件公开为npm包脚本。这使得能够以简单的方式从终端消耗代码,协调维护任务等。
让我们假设文件:
import { Something } from 'some_library';
console.log("Some task to be performed");
在我的package.json
:
"scripts": {
"dev": "next dev",
...
"mine": "execute my file" < HERE
},
我的第一直觉是在mine
任务中直接通过我的文件调用节点,但这将失败,并出现以下错误:
SyntaxError: Cannot use import statement outside a module
我知道在调用我的文件之前需要执行babel转换,我认为该活动是由dev
命令自动执行的。
有没有什么方法可以让我有自己的任务,目标是可以直接在NEXT.js中使用的代码?。有没有什么方法可以触发反编译并在执行我的文件之后?。
您的包不是Next.js项目的一部分,也不会由Next.js.运输
您可以创建一个命令(npm脚本(,调用Babel来转换包,然后执行它,但这只是令人困惑。Next.js项目默认情况下不包括Babel作为根依赖项,因此您的包将依赖于未明确包含的模块。
相反,要准备好在生产中使用的包装。在包项目中安装Babel或其他编译器作为开发工具。在发布包之前,请将其转换为Node.js可以执行的文件。
换句话说,分发可执行文件(包本身(,而不仅仅是包的代码源。