今回はフロントエンドプロジェクトの初期化プロジェクト構造について説明します。フロントエンドプロジェクトでプロジェクト構造を初期化する際の注意事項について、実際のケースを見てみましょう。
私は普段モバイル H5 で作業しているので、webpack を通じて独自のフロントエンド プロジェクト (x-build) を構築し、主にスタイラス、jade、es6、アダプティブ ソリューション、および自分で作成したプラグインをコンパイルしました。
新しいプロジェクトで作業するとき、vue-cli
のようなものを使用したい場合、毎回フォルダーをコピーしてから package.json や README.md などを変更するのは非常に「エレガント」だと感じます。 、 を使用します。 vue init
を使用して、github から独自のフロントエンド プロジェクトをダウンロードしました。これは非常に「エレガント」に見えます。 vue-cli
,使用vue init
的方式在github下载我自己的前端工程,这样显得很“优雅”。
初始化项目结构
首先你已经有了自己搭建的前端工程,假设起名为x-build,并且已经上传到github。
此时新建一个新的项目,起名为x-build-cli
,我是参考vue的做法,这样即使x-build
更新,x-build-cli
不更新,也可以拉取到最新的x-build
。
mkdir x-build-cli cd x-build-cli npm init
创建名为x-build-cli
的文件夹,使用npm初始化,在文件夹内创建bin
目录,并创建x-build.js
,此时的项目结构:
x-build-cli |- bin | |- x-build.js |- package.json
配置package.json
"bin": { "x-build": "./bin/x-build.js" }
在package.json增加"bin","x-build"就是命令号要输入的指令,"./bin/x-build.js"是命令执行时的文件。
配置x-build.js
#! /usr/bin/env node const program = require('commander'); const download = require('download-git-repo'); const chalk = require('chalk'); const ora = require('ora');
#! /usr/bin/env node
是指定这个文件使用node执行。
需要安装的模块npm i commander download-git-repo chalk ora --save:
commander
可以解析用户输入的命令。
download-git-repo
拉取github上的文件。
chalk
改变输出文字的颜色
ora
小图标(loading、succeed、warn等)
program .version('0.1.0') .option('-i, init [name]', '初始化x-build项目') .parse(process.argv);
.option()
-i
是简写,类似于npm i -g
init
后面的[name]
可以通过program.init
来获取到。
最后一项是描述,一般会在x-build -h
提示
if (program.init) { const spinner = ora('正在从github下载x-build').start(); download('codexu/x-build#x-build4.1', program.init, function (err) { if(!err){ // 可以输出一些项目成功的信息 console.info(chalk.blueBright('下载成功')); }else{ // 可以输出一些项目失败的信息 } }) }
ora().start()
可以创建一个loading小图标。 >>> 其他图标参考ora
download()从github下载我们需要的项目,因为使用的是分支所以在后面加上了#x-build4.1
,默认是master。 参数配置参考download-git-repo
chalk.blueBright()
会将输出的文字转化为蓝色。 >>> 其他颜色参考chalk
上传npm
没有账号的同学去npm注册一个账号。
// 登录账号 npm login // 上传项目 npm publish
上传成功之后,通过npm install x-build-cli -g安装到全局环境中。
使用build init [项目名]
就可以从github拉取相应的文件。
优化
此时下载的文件与github一致,我想改变package.json,将name
改为初始化的项目名,将version
改为1.0.0。
此时就使用node自己的api就可以做到:
const fs = require('fs'); fs.readFile(`${process.cwd()}/${program.init}/package.json`, (err, data) => { if (err) throw err; let _data = JSON.parse(data.toString()) _data.name = program.init _data.version = '1.0.0' let str = JSON.stringify(_data, null, 4); fs.writeFile(`${process.cwd()}/${program.init}/package.json`, str, function (err) { if (err) throw err; }) });
通过readFile读取文件,writeFile写入文件,写入时注意要传入字符串JSON.stringify(_data, null, 4)
x-build-cli
という名前を付けます。これは、x-build
が更新されても、 x-build-cli が更新されていない場合でも、最新の x-build
を取得できます。 rrreee
x-build-cli
という名前のフォルダーを作成し、npm で初期化し、フォルダー内に bin
ディレクトリを作成し、x-build js を作成します。
、このときのプロジェクト構造: rrreee
package.jsonを構成するrrreee
package.jsonに「bin」を追加、「x-build」は入力するコマンド、「./bin/x - build.js」はコマンド実行時のファイルです。 x-build.js の構成🎜rrreee🎜#!/usr/bin/env node
は、このファイルがノードを使用して実行されることを指定します。 🎜🎜インストールする必要があるモジュール npm i Commander download-git-repo Chalk ora --save: 🎜🎜commander
は、ユーザーが入力したコマンドを解析できます。 🎜🎜download-git-repo
は github からファイルをプルします。 🎜🎜chalk
出力テキストの色を変更します🎜🎜ora
小さなアイコン (読み込み、成功、警告など)🎜rrreee🎜.option()🎜🎜-i
は、npm i -g
🎜🎜init
に似た省略形です。 の後の <code>[name]
です。 init は、 program.init
を介して渡すことで取得できます。 🎜🎜最後の項目は説明で、通常は x-build -h
でプロンプトが表示されます🎜rrreee🎜ora().start()
は小さな読み込みアイコンを作成できます。 >>> 他のアイコンは、github から必要なプロジェクトをダウンロードするための ora🎜🎜download() を参照しています。ブランチを使用しているため、最後に #x-build4.1
を追加します。デフォルトはマスターです。 パラメータ 設定リファレンス🎜download-git-repo🎜🎜chalk.blueBright()
は出力テキストを青色に変換します。 >>> 他の色はチョークを参照🎜🎜npmにアップロード🎜🎜アカウントを持っていない学生はnpmにアクセスしてアカウントを登録してください。 🎜rrreee🎜 アップロードが成功したら、npm install x-build-cli -g を通じてグローバル環境にインストールします。 🎜🎜 build init [プロジェクト名]
を使用して、対応するファイルを github からプルします。 🎜🎜最適化🎜🎜この時点でダウンロードしたファイルはgithubと一致するように、package.jsonを変更し、name
を初期化されたプロジェクト名に変更し、version
を次のように変更したいと思います。 1.0。 🎜🎜現時点では、ノード独自の API を使用できます: 🎜rrreee🎜 readFile を通じてファイルを読み取ります 🎜、writeFileファイルを書き込みます。🎜JSON.stringify (_data, null、4)
、この方法でフォーマットされた json ファイルを出力できます。 🎜🎜これはノードを通じて簡単に実行できます。ここには開発の余地がたくさんあるので、これ以上は言いません。 🎜🎜結論🎜🎜 ご質問がございましたら、Issue にメッセージを残してください。また、皆さんが私の github で貴重なスターをクリックしていただければ幸いです。 🎜🎜他のおすすめ記事🎜🎜x-loader.js画像読み込み制御ES6プラグイン🎜🎜rem適応ソリューション・px2rem-loader&hotcss🎜この記事の事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がフロントエンドプロジェクトでのプロジェクト構造の初期化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









