经过上篇文章的介绍,我们已经实现了根据用户选择的模板名称及其版本号来下载相应的模板,并将下载的文件存放在用户目录下的 .nue-template 文件夹中。
本文的主要内容是将下载的模板文件拷贝到当前所执行命令的目录下。
例如,当我在终端中输入 nue-cli create neo 命令时,如下图所示:
除了指令部分之外的内容就是所在的目录文件地址,我们的目标是将之前下载的模板文件内容拷贝到这个目录下。
首先,我们需要获取当前所在的目录地址。这可以通过Node.js中的 path 模块实现,使用该模块的 resolve 方法来获取当前目录地址。
因此,首先导入 path 模块:
const path = require('path');
导入后,我们可以通过
path.resolve()
方法获取当前所在的目录地址,并在控制台打印以确认是否正确:
console.log(path.resolve());
为了方便测试,我将之前编写的代码注释掉:
然后执行 nue-cli create neo 命令,查看控制台输出的内容:
从图中可以看到输出的内容就是当前所在的目录地址,这是正确的。
接下来,我们需要将输入指令的项目名称拼接到当前目录地址上,形成一个新的路径,作为我们要拷贝的目录地址。
为了实现这一点,我们可以使用
path.resolve(projectName)
来拼接路径,并将其打印输出:
console.log(path.resolve(projectName));
测试方式与之前一样,我将之前的代码注释掉,然后执行 nue-cli create neo 命令,观察控制台输出的内容: