Browse Source

调整目录结构,更新打包命令等。

oldj 9 years ago
parent
commit
03770a3942
10 changed files with 274 additions and 389 deletions
  1. 10 13
      README.md
  2. 193 330
      app/build/bundle.js
  3. 3 27
      app/package.json
  4. 1 1
      app/src/configs.js
  5. 1 1
      app/src/modules/mainMenu.js
  6. 0 1
      app/src/version.js
  7. 1 0
      app/version.js
  8. 19 13
      gulpfile.js
  9. 43 0
      package.json
  10. 3 3
      webpack.config.js

+ 10 - 13
README.md

@@ -33,21 +33,20 @@ SwitchHosts! 的数据文件在 `~/.SwitchHosts` 目录下(Windows 用户为
 ### 环境配置
 
  - 安装 [node.js](https://nodejs.org/) 环境;
+ - 在根目录 `./` 下,运行 `npm install` 命令,安装依赖库;
  - 在 `./app` 目录下,运行 `npm install` 命令,安装依赖库。
 
- ```bash
- cd app
- npm install
- ```
+```bash
+npm install
+cd app && npm install
+```
 
 ### 构建及运行
 
- - 在 `./app` 目录下,运行 `npm run build` 命令,构建所需文件;
- - 在 `./app` 目录下,运行 `npm start` 命令,即可运行程序。
+ - 在 `./` 目录下,运行 `npm run build` 命令,构建所需文件;
+ - 在 `./` 目录下,运行 `npm start` 命令,即可运行程序。
 
  ```bash
- cd app
-
  # build
  npm run build
 
@@ -60,17 +59,15 @@ SwitchHosts! 的数据文件在 `~/.SwitchHosts` 目录下(Windows 用户为
 
 ### 打包发布
 
- - 在 `./app` 目录下,运行 `npm run pack` 命令,打包后的文件位于 `./app/dist` 目录
+ - 在 `./` 目录下,运行 `npm run pack` 命令,打包后的文件位于 `./dist` 目录
  - 更多信息请参考 [Electron 文档](http://electron.atom.io/docs/)。
 
  ```bash
- cd app
-
  # pack
- npm run pack  # the packed files will be in ./app/dist
+ npm run pack  # the packed files will be in ./dist
 
  # zip
- gulp zip  # the zipped files will be in ./app/dist
+ gulp zip  # the zipped files will be in ./dist
  ```
 
 ## 更新历史:

File diff suppressed because it is too large
+ 193 - 330
app/build/bundle.js


+ 3 - 27
app/package.json

@@ -3,12 +3,7 @@
   "version": "3.2.0",
   "description": "Switch hosts quickly!",
   "main": "main.js",
-  "scripts": {
-    "start": "electron .",
-    "dev": "ENV=dev electron .",
-    "build": "gulp ver && webpack",
-    "pack": "gulp pack"
-  },
+  "scripts": {},
   "repository": {
     "type": "git",
     "url": "git+https://github.com/oldj/SwitchHosts.git"
@@ -30,24 +25,5 @@
     "react-dom": "^15.3.1",
     "request": "^2.74.0"
   },
-  "devDependencies": {
-    "babel-core": "^6.13.2",
-    "babel-loader": "^6.2.4",
-    "babel-plugin-transform-runtime": "^6.12.0",
-    "babel-preset-es2015": "^6.13.2",
-    "babel-preset-react": "^6.11.1",
-    "css-loader": "^0.23.1",
-    "electron-packager": "^7.7.0",
-    "electron-prebuilt": "^1.3.4",
-    "file-loader": "^0.9.0",
-    "gulp": "^3.9.1",
-    "js-beautify": "^1.6.3",
-    "less": "^2.7.1",
-    "less-loader": "^2.2.3",
-    "slash": "^1.0.0",
-    "style-loader": "^0.13.1",
-    "uglify-loader": "^1.3.0",
-    "url-loader": "^0.5.7",
-    "webpack": "^1.13.1"
-  }
-}
+  "devDependencies": {}
+}

+ 1 - 1
app/src/configs.js

@@ -6,7 +6,7 @@
 
 'use strict';
 
-const m_ver = require('./version').version;
+const m_ver = require('../version').version;
 
 exports.version = m_ver.slice(0, 3).join('.');
 exports.version_full = m_ver.join('.');

+ 1 - 1
app/src/modules/mainMenu.js

@@ -10,7 +10,7 @@ const paths = require('../libs/paths');
 const {Menu, shell, ipcMain, dialog} = require('electron');
 const m_lang = require('../lang');
 const pref = require('./../libs/pref');
-const version = require('../version').version;
+const version = require('../../version').version;
 
 exports.init = function (app, sys_lang = 'en') {
     let lang = m_lang.getLang(pref.get('user_language', sys_lang));

+ 0 - 1
app/src/version.js

@@ -1 +0,0 @@
-exports.version = [3,2,0,4169];

+ 1 - 0
app/version.js

@@ -0,0 +1 @@
+exports.version = [3,2,0,4176];

+ 19 - 13
app/gulpfile.js → gulpfile.js

@@ -5,17 +5,23 @@
 
 'use strict';
 
+const ELECTRON_VERSION = '1.4.12';
+
 const fs = require('fs');
 const path = require('path');
 // const util = require('util');
 const exec = require('child_process').exec;
 const gulp = require('gulp');
+const shell = require('gulp-shell');
 const beautify = require('js-beautify').js_beautify;
-const ELECTRON_VERSION = '1.4.8';
+
+const args = require('yargs').argv;
+const IS_DEBUG = !!args.debug;
+const TPL_FILE_INFO = "echo '> (DEBUG " + (IS_DEBUG ? "on" : "off") + ") <%= file.path %>'";
 
 gulp.task('ver', () => {
-    let fn = path.join(__dirname, 'src', 'version.js');
-    let version = require('./src/version').version;
+    let fn = path.join(__dirname, 'app', 'version.js');
+    let version = require('./app/version').version;
     version[3]++;
 
     console.log(`version -> ${version.join('.')}`);
@@ -33,23 +39,23 @@ gulp.task('ver', () => {
 });
 
 gulp.task('pack', () => {
-    let version = require('./src/version').version;
+    let version = require('./app/version').version;
     let v1 = version.slice(0, 3).join('.');
     let v2 = version[3];
 
     let cmds = `
 # for macOS
-electron-packager . 'SwitchHosts!' --platform=darwin --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.icns --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
+electron-packager ./app 'SwitchHosts!' --platform=darwin --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=./assets/app.icns --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
 cp ../assets/Credits.rtf dist/SwitchHosts\!-darwin-x64/SwitchHosts\!.app/Contents/Resources/en.lproj
 
 # for windows x64
-electron-packager . 'SwitchHosts!' --platform=win32  --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.ico  --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
+electron-packager ./app 'SwitchHosts!' --platform=win32  --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=./assets/app.ico  --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
 
 # for windows ia32
-electron-packager . 'SwitchHosts!' --platform=win32  --arch=ia32 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.ico  --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
+electron-packager ./app 'SwitchHosts!' --platform=win32  --arch=ia32 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=./assets/app.ico  --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
 
 # for linux x86_64
-electron-packager . 'SwitchHosts!' --platform=linux  --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=../assets/app.ico  --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
+electron-packager ./app 'SwitchHosts!' --platform=linux  --arch=x64 --version=${ELECTRON_VERSION} --overwrite --asar=true --prune --icon=./assets/app.ico  --ignore=node_modules/.bin --ignore=.git --ignore=dist --ignore=node_modules/electron-* --out=dist --app-version=${v1} --build-version=${v2}
 `;
 
     console.log(`start packing, v: ${v1}.${v2} ..`);
@@ -65,7 +71,7 @@ electron-packager . 'SwitchHosts!' --platform=linux  --arch=x64 --version=${ELEC
 });
 
 gulp.task('zip', () => {
-    let version = require('./src/version').version;
+    let version = require('./app/version').version;
     let v = version.join('.');
 
     let cmds = `
@@ -94,9 +100,9 @@ gulp.task('default', () => {
     gulp.start('ver');
 
     gulp.watch([
-        './main.js',
-        './index.html',
-        './src/**/*.*',
-        '!./src/version.js'
+        './app/main.js',
+        './app/index.html',
+        './app/src/**/*.*',
+        '!./app/version.js'
     ], ['ver']);
 });

+ 43 - 0
package.json

@@ -0,0 +1,43 @@
+{
+  "name": "switchhosts",
+  "version": "3.2.0",
+  "description": "Homepage: [https://oldj.github.io/SwitchHosts/](https://oldj.github.io/SwitchHosts/)",
+  "main": "",
+  "dependencies": {},
+  "devDependencies": {
+    "babel-core": "^6.20.0",
+    "babel-loader": "^6.2.9",
+    "babel-preset-latest": "^6.16.0",
+    "babel-preset-react": "^6.16.0",
+    "css-loader": "^0.26.1",
+    "electron-prebuilt": "^1.4.12",
+    "file-loader": "^0.9.0",
+    "gulp": "^3.9.1",
+    "gulp-shell": "^0.5.2",
+    "js-beautify": "^1.6.4",
+    "less": "^2.7.1",
+    "less-loader": "^2.2.3",
+    "style-loader": "^0.13.1",
+    "uglify-loader": "^1.4.0",
+    "url-loader": "^0.5.7",
+    "webpack": "^1.14.0",
+    "yargs": "^6.5.0"
+  },
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1",
+    "start": "electron app",
+    "dev": "ENV=dev electron app",
+    "build": "gulp ver && webpack",
+    "pack": "gulp pack && gulp zip"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/oldj/SwitchHosts.git"
+  },
+  "author": "oldj",
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/oldj/SwitchHosts/issues"
+  },
+  "homepage": "https://oldj.github.io/SwitchHosts/"
+}

+ 3 - 3
app/webpack.config.js → webpack.config.js

@@ -10,10 +10,10 @@ const webpack = require('webpack');
 const uglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
 
 module.exports = {
-    entry: './src/ui.js',
+    entry: './app/src/ui.js',
     devtool: 'source-map',
     output: {
-        path: path.join(__dirname, 'build'),
+        path: path.join(__dirname, 'app', 'build'),
         filename: 'bundle.js'
     },
     resolve: {
@@ -24,7 +24,7 @@ module.exports = {
             {
                 test: /\.jsx?$/,
                 exclude: /node_modules/,
-                loaders: ['babel?presets[]=react,presets[]=es2015']
+                loaders: ['babel?presets[]=react,presets[]=latest']
             }, {
                 test: /\.less$/,
                 loaders: ['style', 'css', 'less']

Some files were not shown because too many files changed in this diff