Reactjs 用于快速创建React组件的package.json脚本
是否可以在package.json中编写一个脚本,该脚本将创建一个名为“Reactjs 用于快速创建React组件的package.json脚本,reactjs,npm,webpack,yarnpkg,Reactjs,Npm,Webpack,Yarnpkg,是否可以在package.json中编写一个脚本,该脚本将创建一个名为“MyComponent”的新目录(例如),并将创建四个同名文件: MyComponent.js MyComponent.css MyComponent.test.js 自述文件 简单用法: $THEAN(npm运行)新公司——MyComponent ->新建目录“MyComponent”,创建了四个指定文件 *目录应该在我的当前目录中创建(而不是在package.json所在的根目录中)我怀疑这可能是一个可以直接从pack
MyComponent
”的新目录(例如),并将创建四个同名文件:
简单用法: $THEAN(npm运行)新公司——MyComponent ->新建目录“MyComponent”,创建了四个指定文件
*目录应该在我的当前目录中创建(而不是在package.json所在的根目录中)我怀疑这可能是一个可以直接从package.js脚本调用的本机npm命令。 但是,当然可以编写一个javascript脚本文件并从Thread调用它。您只需创建脚本,该脚本将实际创建文件夹及其内容 package.json
...
"scripts": {
...
"babelnode": "node node_modules/babel-cli/bin/babel-node",
"new_comp": "yarn babelnode ./src/scripts/createComponent.js",
...
}
...
createComponent.js
import fs from 'fs';
const dir = process.argv[2];
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
fs.writeFileSync(path.join(dir,`${dir}.js`), '');
fs.writeFileSync(path.join(dir,`${dir}.css`), '');
fs.writeFileSync(path.join(dir,`${dir}.test.js`), '');
fs.writeFileSync(path.join(dir,'README.MD'), '');
命令行
纱线新组件MyComponent
问题是“是否可能”,所以这是未经测试的,但应该让您开始
注意事项:
我使用了babel node来编写es6中的脚本
如果不使用它,“MyComponent”参数可能不在process.argv的索引2中
参考文献:
感谢您提出的解决方案。我还设法写了一些类似于您的解决方案的东西,但我希望它不依赖于其他文件。最好只是像mkdir和touch/echo这样的命令行指令。如果您只使用shell命令行,那么您将依赖于希望解释命令的shell。如果您确实知道哪个shell将参与其中,我建议您针对这个特定的shell发布一个新问题。
import fs from 'fs';
const dir = process.argv[2];
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
fs.writeFileSync(path.join(dir,`${dir}.js`), '');
fs.writeFileSync(path.join(dir,`${dir}.css`), '');
fs.writeFileSync(path.join(dir,`${dir}.test.js`), '');
fs.writeFileSync(path.join(dir,'README.MD'), '');