Back to Question Center
0

ਪ੍ਰਤੀਕ੍ਰਿਆ ਅਤੇ PHP ਨਾਲ ਗੇਮ ਡਿਵੈਲਪਮੈਂਟ: ਉਹ ਕਿੰਨੇ ਅਨੁਕੂਲ ਹਨ?            ਪ੍ਰਤੀਕ੍ਰਿਆ ਅਤੇ PHP ਦੇ ਨਾਲ ਖੇਡ ਵਿਕਾਸ: ਉਹ ਕਿੰਨੇ ਅਨੁਕੂਲ ਹਨ? ਸੰਬੰਧਿਤ ਵਿਸ਼ਾ: APIsSecurityDatabasePerformance & ਸਕਾਲਿੰਗ ਡਿਵੈਲਪਮੈਂਟ ਸਮਾਲ

1 answers:
ਪ੍ਰਤੀਕਰਮ ਅਤੇ PHP ਨਾਲ ਗੇਮ ਡਿਵੈਲਪਮੈਂਟ: ਉਹ ਕਿੰਨੇ ਅਨੁਕੂਲ ਹਨ?

PHP ਅਤੇ ReactJS ਦੇ ਨਾਲ ਖੇਡ ਵਿਕਾਸ

  • ਰੀਐਕਟਰ ਅਤੇ PHP ਨਾਲ ਗੇਮ ਡਿਵੈਲਪਮੈਂਟ: ਉਹ ਕਿੰਨੇ ਅਨੁਕੂਲ ਹਨ?
  • ਪਰਿਕਿਰਿਆਤਮਕ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕੀਤੀ ਗੇਮ ਟੈਰੀਨ ਰੀਐਕਟ, ਪੀਐਚਪੀ ਅਤੇ ਵੈਬ ਸੌਕੇਟ

ਉੱਚ ਗੁਣਵੱਤਾ, ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨ ਲਈ ਡੂੰਘਾਈ ਨਾਲ ਜਾਣ-ਪਛਾਣ ਲਈ, ਤੁਸੀਂ ਕੈਨੇਡਾ ਦੇ ਪੂਰੇ ਸਟੈਕ ਵਿਕਾਸਕਾਰ ਵੇਸ ਬੋਸ ਤੋਂ ਪਹਿਲਾਂ ਨਹੀਂ ਜਾ ਸਕਦੇ. ਇੱਥੇ ਆਪਣੇ ਕੋਰਸ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ, ਅਤੇ ਕੋਡ SITEPOINT ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ 25% ਬੰਦ ਅਤੇ ਸਾਈਟਪੌਰਟ ਦੀ ਸਹਾਇਤਾ ਕਰਨ ਲਈ ਮਦਦ ਕਰੋ.

"ਮੈਂ ਇੱਕ ਮਲਟੀਪਲੇਅਰ, ਅਰਥ-ਆਧਾਰਿਤ ਖੇਡ ਨੂੰ ਬਣਾਉਣਾ ਚਾਹੁੰਦਾ ਹਾਂ. ਸਟਡੇਡਉ ਸੈਮਟਟ ਵਰਗੇ ਕੁਝ ਅਜਿਹਾ ਹੈ, ਪਰ ਦੋਸਤਾਨਾ ਪੱਖਾਂ ਅਤੇ ਖਿਡਾਰੀ-ਅਧਾਰਿਤ ਅਰਥਵਿਵਸਥਾ ਦੇ ਨਾਲ ਨਹੀਂ. "

ਮੈਂ ਇਸ ਬਾਰੇ ਸੋਚਣਾ ਸ਼ੁਰੂ ਕਰ ਦਿੱਤਾ ਜਦੋਂ ਮੈਂ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਕਿ PHP ਅਤੇ ਸੈਮਲਾਟ ਦੀ ਵਰਤੋਂ ਨਾਲ ਇੱਕ ਗੇਮ ਤਿਆਰ ਕੀਤੀ ਜਾਵੇ. ਸਮੱਸਿਆ ਇਹ ਹੈ, ਮੈਨੂੰ ਮਲਟੀਪਲੇਅਰ ਗੇਮਜ਼ ਦੀ ਗਤੀਸ਼ੀਲਤਾ ਬਾਰੇ ਨਹੀਂ ਪਤਾ, ਜਾਂ ਖਿਡਾਰੀ-ਆਧਾਰਿਤ ਅਰਥਚਾਰਿਆਂ ਬਾਰੇ ਕਿਸ ਤਰ੍ਹਾਂ ਸੋਚਣਾ ਅਤੇ ਲਾਗੂ ਕਰਨਾ ਹੈ - logiciel paie quebec.

ਪ੍ਰਤੀਕ੍ਰਿਆ ਅਤੇ PHP ਨਾਲ ਗੇਮ ਡਿਵੈਲਪਮੈਂਟ: ਉਹ ਕਿੰਨੇ ਅਨੁਕੂਲ ਹਨ?ਪ੍ਰਤੀਕ੍ਰਿਆ ਅਤੇ PHP ਦੇ ਨਾਲ ਖੇਡ ਵਿਕਾਸ: ਉਹ ਕਿੰਨੇ ਅਨੁਕੂਲ ਹਨ? ਸੰਬੰਧਿਤ ਵਿਸ਼ਾ:
APIsSecurityDatabasePerformance & ScalingDevelopment ਸਮਾਲਟ

ਮੈਨੂੰ ਇਹ ਵੀ ਪਤਾ ਨਹੀਂ ਸੀ ਕਿ ਮੈਂ ਇਸ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਵਰਤਣ ਲਈ ਸੈਮਲਾਟ ਬਾਰੇ ਕਾਫ਼ੀ ਜਾਣਦਾ ਸੀ. ਮੇਰਾ ਮਤਲਬ ਹੈ, ਸ਼ੁਰੂਆਤੀ ਇੰਟਰਫੇਸ - ਜਿੱਥੇ ਮੈਂ ਸਰਵਰ ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਧਿਆਨ ਦਿੰਦਾ ਹਾਂ ਅਤੇ ਖੇਡ ਦੇ ਆਰਥਿਕ ਪਹਿਲੂਆਂ ਨੂੰ - ਸਮਾਲਟ ਲਈ ਬਿਲਕੁਲ ਢੁਕਵਾਂ ਹਾਂ. ਪਰ ਜਦੋਂ ਮੈਂ ਖੇਤੀਬਾੜੀ / ਅੰਤਰ-ਕਿਰਿਆ ਪਹਿਲੂਆਂ ਨੂੰ ਬਣਾਉਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹਾਂ ਤਾਂ ਕੀ ਹੁੰਦਾ ਹੈ? ਮੈਨੂੰ ਆਰਥਿਕ ਪ੍ਰਣਾਲੀ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਇਕ ਆਈਸੋਮੈਟਿਕ ਇੰਟਰਫੇਸ ਬਣਾਉਣ ਦੇ ਵਿਚਾਰ ਨੂੰ ਪਸੰਦ ਹੈ.

ਸਿਫਾਰਸ਼ੀ ਕੋਰਸ

ਮੈਂ ਇੱਕ ਵਾਰ ਮ੍ਰਿਤ_ਲੋਗੋਸ ਦੁਆਰਾ ਇੱਕ ਭਾਸ਼ਣ ਦੇਖਿਆ, ਜਿੱਥੇ ਉਸਨੇ PHP ਵਿੱਚ ਇੱਕ ਮੱਧਯੁਗੀ ਖੇਡ ਬਣਾਉਣ ਬਾਰੇ ਦੱਸਿਆ. ਮਾਰਗਰੇਟ ਨੇ ਮੈਨੂੰ ਪ੍ਰੇਰਿਤ ਕੀਤਾ, ਅਤੇ ਇਹ ਗੱਲ ਉਨ੍ਹਾਂ ਚੀਜ਼ਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸੀ ਜਿਨ੍ਹਾਂ ਨੇ ਮੈਨੂੰ ਜੇ.ਐਸ. ਗੇਮ ਦੇ ਵਿਕਾਸ ਬਾਰੇ ਇੱਕ ਕਿਤਾਬ ਲਿਖਣ ਲਈ ਅਗਵਾਈ ਕੀਤੀ. ਮੈਂ ਆਪਣੇ ਤਜਰਬੇ ਬਾਰੇ ਲਿਖਣ ਦਾ ਪੱਕਾ ਇਰਾਦਾ ਕਰ ਲਿਆ. ਦੂਜਿਆਂ ਨੂੰ ਇਸ ਮਾਮਲੇ ਵਿਚ ਆਪਣੀਆਂ ਗ਼ਲਤੀਆਂ ਤੋਂ ਸਿਮਟ ਕਰ ਸਕਦਾ ਸੀ.


ਇਸ ਹਿੱਸੇ ਲਈ ਕੋਡ ਇੱਥੇ ਲੱਭਿਆ ਜਾ ਸਕਦਾ ਹੈ: github. com / assertchris-tutorials / sitepoint-making-games / tree / part-1 ਮੈਂ ਇਸ ਨੂੰ PHP 7 ਨਾਲ ਪ੍ਰੀਖਣ ਕੀਤਾ ਹੈ. 1 ਅਤੇ ਗੂਗਲ ਕਰੋਮ ਦੇ ਨਵੇਂ ਵਰਜਨ ਵਿੱਚ


ਬੈਕ ਐਂਡ ਸੈੱਟਿੰਗ

ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਮੈਨੂੰ ਮਲਟੀਪਲੇਅਰ ਅਰਥਵਿਵਸਥਾਵਾਂ ਬਣਾਉਣ 'ਤੇ ਸੇਧ ਦਿੱਤੀ ਗਈ ਸੀ. ਮੈਨੂੰ ਇੱਕ ਸ਼ਾਨਦਾਰ ਸਟੈਕ ਸੈਮਲਾਟ ਥ੍ਰੈੱਡ ਮਿਲਿਆ ਜਿਸ ਵਿੱਚ ਲੋਕਾਂ ਨੇ ਵੱਖੋ-ਵੱਖਰੀਆਂ ਚੀਜਾਂ ਬਾਰੇ ਸਮਝਾਇਆ. ਮੈਨੂੰ ਇਹ ਅਹਿਸਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਮੈਂ ਗਲਤ ਜਗ੍ਹਾ ਤੋਂ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਤਕਰੀਬਨ ਅੱਧਾ ਕੁ ਵਜੇ ਮਿਲਿਆ.

"ਸਭ ਤੋਂ ਪਹਿਲੀ ਗੱਲ: ਮੈਨੂੰ ਇੱਕ PHP ਸਰਵਰ ਦੀ ਲੋੜ ਹੈ. ਮੈਨੂੰ ਕਲਾਇੰਟਾਂ ਦੀ ਇੱਕ ਝੁੰਡ ਹੋਣ ਜਾ ਰਿਹਾ ਹੈ, ਇਸ ਲਈ ਮੈਨੂੰ ਕੁਝ ਉੱਚ ਸਹਿਵਰਤੀ (ਸ਼ਾਇਦ ਵੀ ਸਮਾਲ) ਦੇ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਚਾਹੀਦਾ ਹੈ. ਅਤੇ ਇਸ ਨੂੰ ਸਥਿਰ ਰਹਿਣ ਦੀ ਲੋੜ ਹੈ: ਖਿਡਾਰੀ ਆਲੇ-ਦੁਆਲੇ ਨਹੀਂ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ. "

ਮੈਂ ਉੱਚ ਐਸੋਸੀਕੇਸ਼ਨ ਅਤੇ ਸਹਿਯੋਗ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਐਸਐਂਂਕ PHP ਸਰਵਰ ਦੀ ਸਥਾਪਤੀ ਵਿੱਚ ਕੰਮ ਕਰਨ ਲਈ ਗਿਆ ਸਾਂਮਟ ਮੈਂ ਆਪਣੇ ਪਿਛਲੇ ਕੰਮ ਨੂੰ PHP ਪ੍ਰੀਪ੍ਰੋਸੈਸਰਾਂ ਦੇ ਨਾਲ ਜੋੜਿਆ ਸੀ ਤਾਂ ਕਿ ਚੀਜ਼ਾਂ ਨੂੰ ਸਾਫ ਕੀਤਾ ਜਾ ਸਕੇ, ਅਤੇ ਪਹਿਲੇ ਦੋ ਪੜਾਅ ਕੀਤੇ.

ਤੋਂ ਸੰਰਚਨਾ ਪੂਰਵ :

     $ ਹੋਸਟ = ਨਵੇਂ ਏਰੀਜ਼ \ ਮੇਜ਼ਬਾਨ   ;$ host-> ਬੇਨਕਾਬ ਕਰੋ ("*", 8080);$ host-> ਵਰਤੋ ($ ਰਾਊਟਰ = ਏਰੀਜ਼ \ ਰਾਊਟਰ   );$ host-> ਵਰਤੋ ($ root = Aerys \ root (". / public"));$ web = ਪ੍ਰਕਿਰਿਆ . "/ ਰੂਟ / ਵੈਬ. pre";$ ਵੈਬ ($ ਰਾਊਟਰ);$ api = ਪ੍ਰਕਿਰਿਆ . "/ ਰੂਟ / api. pre";$ api ($ ਰਾਊਟਰ);    

ਮੈਂ ਐਪਲੀਕੇਸ਼ਨ ਦੇ HTTP ਅਤੇ ਵੈਬਸਾਕਟ ਹਿੱਸੇ ਲਈ ਮਿਮਾਲ ਨੂੰ ਵਰਤਣ ਦਾ ਫੈਸਲਾ ਕੀਤਾ. ਇਹ ਕੋਡ ਵਿਮਟ ਡਾਕਸ ਤੋਂ ਬਿਲਕੁਲ ਵੱਖਰੇ ਨਜ਼ਰ ਆ ਰਿਹਾ ਸੀ, ਪਰ ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਮੈਨੂੰ ਇਸ ਬਾਰੇ ਵਧੀਆ ਵਿਚਾਰ ਸੀ ਕਿ ਮੈਨੂੰ ਕੀ ਚਾਹੀਦਾ ਹੈ

ਮਿਡਲ ਐਪ ਚਲਾਉਣ ਲਈ ਆਮ ਪ੍ਰਕਿਰਿਆ ਇਸ ਤਰ੍ਹਾਂ ਇੱਕ ਹੁਕਮ ਦੀ ਵਰਤੋਂ ਸੀ:

   ਵਿਕਰੇਤਾ / bin / aerys -d -c config. php    

ਦੁਹਰਾਉਣ ਲਈ ਬਹੁਤ ਸਾਰੇ ਕੋਡ ਨੂੰ ਸੰਮਿਲਤ ਕਰੋ, ਅਤੇ ਇਹ ਇਸ ਤੱਥ ਨੂੰ ਪ੍ਰਭਾਵਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਮੈਂ PHP ਪੂਰਵ-ਪ੍ਰੋਸੈਸਿੰਗ ਨੂੰ ਵਰਤਣਾ ਚਾਹੁੰਦਾ ਹਾਂ. ਮੈਂ ਇੱਕ ਲੋਡਰ ਫਾਇਲ ਬਣਾਈ ਹੈ. php :

     ਵਾਪਸੀ ਪ੍ਰੀਕਿਆ \ ਪ੍ਰਕਿਰਿਆ ਅਤੇਆਰਿਅਰ (__ ਡੀਆਈਆਰ__. "/ Config. Pre");    

ਤਦ ਮੈਂ ਆਪਣੀ ਨਿਰਭਰਤਾ ਸਥਾਪਤ ਕੀਤੀ. ਇਹ ਸੰਗੀਤਕਾਰ ਵਲੋਂ ਹੈ ਜੇਸਨ :

     "require": {"amphp / aerys": "dev-amp_v2","amphp / parallel": "dev-master","ਲੀਗ / ਕੰਟੇਨਰ": "^ 2. 2","ਲੀਗ / ਪਲੇਟਾਂ": "^ 3. 3","ਪੂਰਵ / ਛੋਟਾ-ਬੰਦ": "^ 0 4. 0"},"require-dev": {"phpunit / phpunit": "^ 6. 0"},    

ਮੈਂ ਐਸਿੰਕ ਸਰਵਰ ਤੋਂ ਬਲਾਕਿੰਗ ਕੋਡ ਨੂੰ ਮੂਵ ਕਰਨ ਲਈ ਏਐਫਪੀਪੀ / ਪੈਰਲਲ ਇਸਤੇਮਾਲ ਕਰਨਾ ਚਾਹੁੰਦਾ ਸੀ, ਪਰ ਇਹ ਏਐਫਪੀਪੀ / ਏਰੀਅਸ ਦਾ ਸਥਾਈ ਟੈਗ ਨਾਲ ਸਥਾਪਿਤ ਨਹੀਂ ਹੋਵੇਗਾ. ਇਸ ਲਈ ਮੈਂ dev-amp_v2 ਬ੍ਰਾਂਚ ਦੇ ਨਾਲ ਗਿਆ.

ਮੈਂ ਸੋਚਿਆ ਕਿ ਇਹ ਕੁਝ ਵਧੀਆ ਟੈਪਲੇਟ ਇੰਜਣ ਅਤੇ ਸਰਵਿਸ ਲੋਕੇਟਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਚੰਗਾ ਹੋਵੇਗਾ ਮੈਂ ਹਰ ਇੱਕ ਦੇ PHP ਲੀਗ ਵਰਜਨ ਦੀ ਚੋਣ ਕੀਤੀ ਅੰਤ ਵਿੱਚ ਮੈਂ ਪ੍ਰੀ / ਛੋਟਾ-ਬੰਦ ਜੋੜਿਆ ਹੈ, ਸੰਰਚਨਾ ਵਿੱਚ ਕਸਟਮ ਸੰਟੈਕਸ ਨੂੰ ਵਰਤਣ ਲਈ ਦੋਵੇਂ. ਪ੍ਰੀ ਅਤੇ ਛੋਟੇ ਬੰਦ ਕਰਨ ਵਾਲੇ ਮੈਂ ਉਸ ਤੋਂ ਬਾਅਦ ਵਰਤਣ ਦੀ ਯੋਜਨਾ ਬਣਾਈ ਹੈ .

ਫੇਰ ਮੈਂ ਰੂਟ ਫਾਈਲਾਂ ਨੂੰ ਬਣਾਉਣ ਬਾਰੇ ਸੈਟ ਕੀਤਾ. ਰੂਟਾਂ / ਵੈੱਬ ਤੋਂ ਪੂਰਵ :

     Aerys \ Router ਵਰਤੋ;ਐਪ \ ਐਕਸ਼ਨ \ ਘਰ ਐਕਸ਼ਨ;ਵਾਪਸੀ (ਰਾਊਟਰ ਰਾਊਟਰ ਰਾਊਟਰ) => {$ ਰਾਊਟਰ-> ਰੂਟ ("GET", "/", ਨਵੀਂ ਹੋਮ ਐਕਸ਼ਨ);};    

ਅਤੇ, ਰਸਤੇ / ਏਪੀਆਈ ਤੋਂ ਪੂਰਵ :

     Aerys \ Router ਵਰਤੋ;ਐਪ \ ਐਕਸ਼ਨ ਅਪੀ \ ਗ੍ਰਾਏ ਐਕਸ਼ਨ;ਵਾਪਸੀ (ਰਾਊਟਰ ਰਾਊਟਰ ਰਾਊਟਰ) => {$ ਰਾਊਟਰ-> ਰੂਟ ("GET", "/ api", ਨਵੀਂ ਹੋਮ ਐਕਸ਼ਨ);};    

ਸਧਾਰਣ ਮਾਰਗ, ਹਾਲਾਂਕਿ ਇਹ ਕੋਡ ਨੂੰ ਸੰਰਚਨਾ ਵਿੱਚ ਕੋਡ ਦੀ ਜਾਂਚ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕੀਤੀ. ਪੂਰਵ ਮੈਂ ਇਹਨਾਂ ਰੂਟ ਦੀਆਂ ਫਾਈਲਾਂ ਨੂੰ ਰਿਜ਼ਰਵ ਕਲੋਜ਼ਰ ਬਣਾਉਣ ਦਾ ਫੈਸਲਾ ਕੀਤਾ, ਇਸ ਲਈ ਮੈਂ ਉਹਨਾਂ ਨੂੰ ਟਾਈਪ ਕੀਤਾ $ ਰਾਊਟਰ ਪਾਸ ਕਰ ਸਕਦਾ ਸੀ, ਜਿਸ ਨਾਲ ਉਹ ਆਪਣੇ ਰੂਟਾਂ ਜੋੜ ਸਕਦੀਆਂ ਸਨ. ਅੰਤ ਵਿੱਚ, ਮੈਂ ਦੋ (ਸਮਾਨ) ਕਾਰਵਾਈਆਂ ਤਿਆਰ ਕੀਤੀਆਂ ਹਨ

ਤੋ ਐਪ / ਐਕਸ਼ਨ / ਹੋਮ ਐਕਸ਼ਨ ਪੂਰਵ :

     ਨਾਂ-ਸਪੇਸ ਐਪ ਐਕਸ਼ਨ;Aerys \ Request ਦੀ ਵਰਤੋਂ ਕਰੋ;Aerys \ Response ਦੀ ਵਰਤੋਂ ਕਰੋ;ਕਲਾਸ{ਜਨਤਕ ਫੰਕਸ਼ਨ __ ਇਨਕੌਕ (ਬੇਨਤੀ $ ਬੇਨਤੀ,ਜਵਾਬ $ ਪ੍ਰਤੀ ਜਵਾਬ{$ response-> ਅੰਤ ("ਹੈਲੋ ਸੰਸਾਰ");}}    

ਇੱਕ ਆਖਰੀ ਸੰਕੇਤ ਸ਼ਾਰਟਕੱਟ ਲਿਪੀਆਂ ਨੂੰ ਜੋੜਨ ਲਈ ਸੀ, ਜੋ ਕਿ ਸਾਮਲਟ ਸਰਵਰ ਦੇ ਦੇਵ ਅਤੇ ਪ੍ਰੌਡ ਸੰਸਕਰਣਾਂ ਨੂੰ ਲਾਂਚ ਕਰਨ ਲਈ ਸੀ.

ਤੋਂ ਸੰਗੀਤਕਾਰ ਜੇਸਨ :

     "ਲਿਪੀਆਂ": ​​{"dev": "ਵਿਕਰੇਤਾ / ਬਿਨ / ਅਰੀਸ-ਡੀ-ਸੀ ਲੋਡਰ. php","prod": "ਵਿਕਰੇਤਾ / ਬਿਨ / ਅਰੀਸ-ਸੀ ਲੋਡਕਰ. php"},"config": {"ਪ੍ਰਕਿਰਿਆ-ਸਮਾਂ-ਅੰਤਰਾਲ": 0},    

ਸਭ ਕੁਝ ਦੇ ਨਾਲ, ਮੈਂ ਇੱਕ ਨਵਾਂ ਸਰਵਰ ਬਣਾ ਸਕਦਾ ਸੀ, ਅਤੇ http: // 127 ਤੇ ਜਾ ਸਕਦਾ ਸੀ. 0. 0. 1: 8080 ਟਾਈਪ ਕਰਕੇ:

   ਸੰਗੀਤਕਾਰ ਦੇਵ    

ਫ੍ਰੰਟ ਐਂਡ ਸੈੱਟਿੰਗ

"ਠੀਕ ਹੈ, ਹੁਣ ਮੈਨੂੰ PHP ਦੇ ਕੁਝ ਪੱਖਾਂ ਨੂੰ ਮੁਕਾਬਲਤਨ ਸਥਿਰ ਮਿਲ ਗਿਆ ਹੈ; ਮੈਂ ReactJS ਫਾਈਲਾਂ ਕਿਵੇਂ ਬਣਾਵਾਂ? ਸ਼ਾਇਦ ਮੈਂ ਲਰਲੇਲ ਮਿਕਸ ਇਸਤੇਮਾਲ ਕਰ ਸਕਦਾ ਹਾਂ . ? "

ਮੈਂ ਪੂਰੀ ਨਵੀਂ ਬਿਲਡ ਸ਼ੀਨ ਬਣਾਉਣ 'ਤੇ ਉਤਸੁਕ ਨਹੀਂ ਸੀ, ਅਤੇ ਮਿਕਸ ਨੂੰ ਗੈਰ-ਲਾਅਰਲੇਲ ਪ੍ਰੋਜੈਕਟਾਂ ਉੱਤੇ ਵਧੀਆ ਕੰਮ ਕਰਨ ਲਈ ਦੁਬਾਰਾ ਬਣਾਇਆ ਗਿਆ ਸੀ. ਮਿਣਤੀ ਇਸ ਨੂੰ ਸੰਰਚਨਾ ਅਤੇ ਵਿਸਥਾਰ ਕਰਨਾ ਆਸਾਨ ਸੀ, ਇਸ ਨੇ ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ VueJS ਦਾ ਸਮਰਥਨ ਕੀਤਾ.

ਮੇਰੀ ਪਹਿਲੀ ਗੱਲ ਇਹ ਸੀ ਕਿ ਕੁਝ ਐੱਨ ਐੱਮ ਐੱਮ ਨਿਰਭਰਤਾ ਸਥਾਪਤ ਕੀਤੀ ਗਈ ਸੀ. ਪੈਕੇਜ ਤੋਂ. ਜੇਸਨ :

     "ਡੀਵਿਡਿਪਰੈਂਡਰੈਂਸੀ": {"babel-preset-react": "^ 6. 23. 0","bootstrap-sass": "^ 3. 3. 7","jquery": "^ 3. 1. 1","ਲਾਰਵੇਲ-ਮਿਕਸ": "^ 0 7. 5","ਪ੍ਰਤੀਕਰਮ": "^ 15.4 4. 2","ਪ੍ਰਤੀਕਰਮ- dom": "^ 15.4 4. 2","ਵੈਬਪੈਕ": "^ 2 2. 1"},    

ਉਪਯੋਗ ਕੀਤੇ ਗਏ ਵੈਬਪੈਕ ਨੂੰ ਪ੍ਰੀਪ੍ਰੋਸੈਸ ਕਰਨ ਅਤੇ ਜੇ.ਐਸ. ਅਤੇ CSS ਫਾਈਲਾਂ ਵਿੱਚ ਵੰਡਣ ਲਈ ਮਿਕਸ ਕਰੋ. ਮੈਨੂੰ jsx ਫਾਈਲਾਂ ਨੂੰ ਬਣਾਉਣ ਲਈ ਰੀੈਕਟ ਅਤੇ ਸੰਬੰਧਿਤ ਬਾਬਲ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਵੀ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਅੰਤ ਵਿੱਚ, ਮੈਂ ਥੋੜਾ ਡਿਫਾਲਟ ਸਟਾਇਲ ਲਈ, ਬੂਟਸਟਰੈਪ ਫਾਇਲਾਂ ਨੂੰ ਜੋੜਿਆ.

ਆਪਣੇ ਆਪ ਹੀ ਇੱਕ ਕਸਟਮ ਸੰਰਚਨਾ ਫਾਇਲ ਨੂੰ ਲੋਡ ਕਰੋ, ਇਸ ਲਈ ਮੈਂ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਕੀਤੇ. ਵੈਬਪੈਕ ਤੋਂ ਮਿਕਸ ਕਰੋ ਜੇ ਐਸ :

     ਆਓ ਮਿਲਾਓ = ਲੋੜ ("ਲਾਰਵੇਲ-ਮਿਕਸ")jsx ਫਾਈਲਾਂ ਲਈ // ਲੋਡ ਬਾਰਾਲ ਪ੍ਰੀਸੈਟਮਿਕਸ ਕਰੋ webpackConfig ({"ਮੋਡੀਊਲ": {"ਨਿਯਮ": [{"ਟੈਸਟ": / jsx $ /,"ਬਾਹਰ ਕੱਢੋ": / (ਨੋਡ_ਮੋਡੀਊਲ) /,"ਲੋਡਰ": "ਬੈਬਲ-ਲੋਡਰ" + ਮਿਕਸ. ਸੰਰਚਨਾ. setPublicPath ("ਜਨਤਕ")ਮਿਕਸ ਕਰੋ ਜੇ ਐਸ ("ਅਸਾਸੇ / ਜੇ ਐਸ / ਐਪੀ. ਜੇ ਐਸਐਕਸ", "ਜਨਤਕ / ਜੇ ਐਸ / ਏਪੀ. ਜੇ ਐਸ")ਮਿਕਸ ਕਰੋ sass ("ਸੰਪੱਤੀਆਂ / ਸਕੋਰ / ਐਪ. ਸਕਸ", "ਪਬਲਿਕ / ਸੀਐਸਐਸ / ਐਪੀ. ਸੀ ਐਸ")ਮਿਕਸ ਕਰੋ ਸੰਸਕਰਣ       

ਮੈਨੂੰ ਮਿਕਸ ਨੂੰ ਇਹ ਦੱਸਣ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ ਕਿ ਜੇਐਸਐਕਸ ਫਾਈਲਾਂ ਨਾਲ ਕੀ ਕਰਨਾ ਹੈ, ਇਸ ਲਈ ਮੈਂ ਉਸ ਵਰਗੀ ਇਕ ਕਿਸਮ ਦੀ ਸੰਰਚਨਾ ਜੋ ਆਮ ਤੌਰ 'ਤੇ ਪਾ ਦਿੱਤੀ ਹੈ . ਬੈਬੈਲ੍ਰਕ ਮੈਂ ਅਰਜ਼ੀ ਦੇ ਵੱਖ-ਵੱਖ ਬਿੱਟਾਂ ਅਤੇ ਬੋਬਾਂ ਵਿੱਚ ਇੱਕ ਇੱਕਲੇ JS ਅਤੇ CSS ਐਂਟਰੀ ਪੁਆਇੰਟ ਬਣਾਉਣ ਦੀ ਯੋਜਨਾ ਬਣਾਈ ਸੀ.

ਨੋਟ: ਮਿਕਸ ਦੇ ਭਵਿੱਖ ਦੇ ਸੰਸਕਰਣ ਰਿਐਕਐਕਟਜ ਐਸ ਐਸ ਦੀਆਂ ਜਾਇਦਾਦਾਂ ਬਣਾਉਣ ਲਈ ਬਿਲਟ-ਇਨ ਸਹਾਇਤਾ ਨਾਲ ਜਹਾਜ਼ ਭੇਜਣਗੇ. ਜਦੋਂ ਅਜਿਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਮਿਕਸ webpackConfig ਕੋਡ ਨੂੰ ਹਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ.

ਇਕ ਵਾਰ ਫਿਰ, ਮੈਂ ਗੰਭੀਰ ਟਾਈਪਿੰਗ ਨੂੰ ਬਚਾਉਣ ਲਈ ਕੁਝ ਸ਼ਾਰਟਕੱਟ ਸਕ੍ਰਿਪਟਾਂ ਤਿਆਰ ਕੀਤੀਆਂ ਹਨ. ਪੈਕੇਜ ਤੋਂ. ਜੇਸਨ :

     "ਲਿਪੀਆਂ": ​​{"dev": "$ npm_package_config_webpack","ਦੇਖਣ": "$ npm_package_config_webpack -w","prod": "$ npm_package_config_webpack -p"},"config": {"ਵੈਬਪੈਕ": "ਵੈਬਪੈਕ --progress --hide-modules --config = node_modules / laravel-mix / setup / webpack. config.js"},    

ਤਿੰਨੇ ਲਿਪੀਆਂ ਨੇ ਵੈਬਪੈਕ ਵੇਰੀਏਬਲ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕੀਤੀ, ਪਰ ਉਹ ਇਸ ਤੋਂ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਇਸ ਤੋਂ ਵੱਖ ਹੋ ਗਏ. dev ਨੇ JS ਅਤੇ CSS ਫਾਈਲਾਂ ਦਾ ਡੀਬੱਗ ਵਰਜਨ ਬਣਾਇਆ. -w ਸਵਿੱਚ ਨੇ ਵੈਬਪੈਕ ਵਾਚਰ ਸ਼ੁਰੂ ਕੀਤਾ (ਇਸ ਲਈ ਬੰਡਲਾਂ ਨੂੰ ਅੰਸ਼ਕ ਤੌਰ ਤੇ ਦੁਬਾਰਾ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ) -ਪੀ ਸਵਿੱਚ ਬੰਡਲ ਦੇ ਇੱਕ ਹਲਕੇ ਉਤਪਾਦਨ ਦੇ ਵਰਜਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ.

ਕਿਉਂਕਿ ਮੈਂ ਬੰਡਲ ਸੰਸਕਰਣ ਦਾ ਇਸਤੇਮਾਲ ਕਰ ਰਿਹਾ ਸਾਂ, ਮੈਨੂੰ / ਜੇ ਐਸ / ਐਪ ਦੀ ਫਾਈਲ ਦਾ ਹਵਾਲਾ ਦੇਣ ਲਈ ਇੱਕ ਢੰਗ ਦੀ ਲੋੜ ਸੀ 60795d5b3951178abba1. ਜੇਐਸ ਹੈਸ਼ ਜਾਣੇ ਬਿਨਾਂ ਮੈਂ ਦੇਖਿਆ ਮਿਕਸ ਨੂੰ ਮੈਨੀਫੈਸਟ ਫਾਈਲ ਬਣਾਉਣ ਲਈ ਪਸੰਦ ਕੀਤਾ, ਇਸ ਲਈ ਮੈਂ ਇਸਦੀ ਕਸੂਰ ਕਰਨ ਲਈ ਇੱਕ ਸਹਾਇਕ ਫੰਕਸ਼ਨ ਬਣਾਇਆ. ਮਦਦਗਾਰਾਂ ਤੋਂ ਪੂਰਵ :

     ਐੱਪ ਕਰੌਟਾਈਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ;ਫੰਕਸ਼ਨ ਮਿਕਸ ($ ਮਾਰਗ) {$ generator =    => {$ manifest = ਉਪਜ ਐਮ ਪੀ \ ਫਾਇਲ \ ਪ੍ਰਾਪਤ ਕਰੋ (". / ਜਨਤਕ / ਮਿਕਸ-ਮੈਨੀਫੈਸਟ. json");$ manifest = json_decode ($ ਮੈਨੀਫੈਸਟ, ਸਹੀ);ਜੇ (isset ($ ਮੈਨੀਫੈਸਟ [$ ਪਾਥ])) {$ ਮੈਨੀਫੈਸਟ [$ ਪਾਥ] ਵਾਪਸ ਭੇਜੋ;}ਨਵਾਂ ਅਪਵਾਦ ਸੁੱਟੋ ("{$ ਪਾਥ} ਨਹੀਂ ਮਿਲਿਆ");};ਨਵੇਂ ਕੋਰਟਨਾਈਨ ($ ਜਨਰੇਟਰ   ) ਨੂੰ ਵਾਪਸ ਕਰੋ;}    

ਏਰੀਅਸ ਜਾਣਦਾ ਸੀ ਕਿ ਜਦੋਂ ਉਹ $ val = ਉਪਜ $ ਵਾਅਦਾ ਦੇ ਰੂਪ ਵਿੱਚ ਆਏ ਤਾਂ ਵਾਅਦੇ ਨੂੰ ਕਿਵੇਂ ਨਿਭਾਉਣਾ ਹੈ, ਇਸ ਲਈ ਮੈਂ ਐਂਪ ਦੇ ਵਾਅਦੇ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਵਰਤਿਆ. ਜਦੋਂ ਫਾਈਲ ਪੜ੍ਹੀ ਅਤੇ ਡੀਕੋਡ ਕੀਤੀ ਗਈ ਸੀ, ਤਾਂ ਮੈਂ ਮੇਲਿੰਗ ਫਾਈਲ ਪਾਥ ਲੱਭ ਸਕਦਾ ਸੀ. ਮੈਂ ਐਡਜਸਟ ਕੀਤਾ ਹੋਮ ਐਕਸ਼ਨ . ਐਪ / ਐਕਸ਼ਨ / ਹੋਮ ਏਕਸ਼ਨ ਤੋਂ ਪੂਰਵ :

     ਜਨਤਕ ਫੰਕਸ਼ਨ __ ਇਨਕੌਕ (ਬੇਨਤੀ $ ਬੇਨਤੀ,ਜਵਾਬ $ ਪ੍ਰਤੀ ਜਵਾਬ{$ ਪਾਥ = ਉਪਜ ਮਿਕਸ ("/ ਜੇ ਐਸ / ਐਪ. ਜੇ ਐਸ");$ response-> ਅੰਤ (" 
March 1, 2018