mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-04-01 12:42:50 +08:00
Use a single script (#57)
It is easier to add more scripts later this way.
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
require('../scripts/build');
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
require('../scripts/eject');
|
||||
21
bin/react-scripts.js
vendored
Normal file
21
bin/react-scripts.js
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env node
|
||||
var path = require('path');
|
||||
var spawn = require('cross-spawn');
|
||||
var script = process.argv[2];
|
||||
var args = process.argv.slice(3);
|
||||
|
||||
switch (script) {
|
||||
case 'build':
|
||||
case 'start':
|
||||
case 'eject':
|
||||
spawn(
|
||||
'node',
|
||||
[path.resolve(__dirname, '..', 'scripts', script)].concat(args),
|
||||
{stdio: 'inherit'}
|
||||
);
|
||||
break;
|
||||
default:
|
||||
console.log('Unknown script "' + script + '".');
|
||||
console.log('Perhaps you need to update react-scripts?');
|
||||
break;
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
require('../scripts/start');
|
||||
@@ -21,9 +21,7 @@
|
||||
"template"
|
||||
],
|
||||
"bin": {
|
||||
"start-react-app": "./bin/start-react-app.js",
|
||||
"build-react-app": "./bin/build-react-app.js",
|
||||
"eject-react-app": "./bin/eject-react-app.js"
|
||||
"react-scripts": "./bin/react-scripts.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"autoprefixer": "6.3.7",
|
||||
|
||||
@@ -36,9 +36,9 @@ prompt('Are you sure you want to eject? This action is permanent. [y/N]', functi
|
||||
|
||||
console.log('Ejecting...');
|
||||
console.log();
|
||||
|
||||
var selfPath = path.join(__dirname, '..');
|
||||
var hostPath = path.join(selfPath, '..', '..');
|
||||
|
||||
var files = [
|
||||
path.join('config', 'babel.dev.js'),
|
||||
path.join('config', 'babel.prod.js'),
|
||||
@@ -73,7 +73,6 @@ prompt('Are you sure you want to eject? This action is permanent. [y/N]', functi
|
||||
content = content.replace(/^\/\*\*(\*(?!\/)|[^*])*\*\//, '').trim() + '\n';
|
||||
fs.writeFileSync(path.join(hostPath, file), content);
|
||||
});
|
||||
|
||||
console.log();
|
||||
|
||||
var selfPackage = require(path.join(selfPath, 'package.json'));
|
||||
@@ -109,5 +108,4 @@ prompt('Are you sure you want to eject? This action is permanent. [y/N]', functi
|
||||
console.log('Please consider sharing why you ejected in this survey:');
|
||||
console.log(' http://goo.gl/forms/Bi6CZjk1EqsdelXk1');
|
||||
console.log();
|
||||
|
||||
});
|
||||
|
||||
@@ -26,8 +26,7 @@ module.exports = function(hostPath, appName, verbose) {
|
||||
// Setup the script rules
|
||||
hostPackage.scripts = {};
|
||||
['start', 'build', 'eject'].forEach(function(command) {
|
||||
hostPackage.scripts[command] =
|
||||
command + '-react-app';
|
||||
hostPackage.scripts[command] = 'react-scripts ' + command;
|
||||
});
|
||||
|
||||
fs.writeFileSync(
|
||||
@@ -53,7 +52,7 @@ module.exports = function(hostPath, appName, verbose) {
|
||||
copySync(
|
||||
path.join(selfPath, 'template', filename),
|
||||
path.join(hostPath, filename)
|
||||
);
|
||||
);
|
||||
});
|
||||
|
||||
// Run another npm install for react and react-dom
|
||||
|
||||
Reference in New Issue
Block a user