প্রতিটি কৌণিক প্রকল্পের জন্য বিশাল আকারের ফাইল তৈরি করা হয়


594

আমি কৌণিকের জন্য একটি সাধারণ হ্যালো ওয়ার্ল্ড অ্যাপ্লিকেশন শুরু করতে চেয়েছিলাম।

আমি যখন অফিসিয়াল কুইস্টস্টার্টের নির্দেশাবলী অনুসরণ করি তখন ইনস্টলেশনটি আমার প্রকল্পে 32,000 ফাইল তৈরি করেছে।

আমি বুঝতে পেরেছি এটি কিছু ভুল বা আমি কিছু মিস করেছি, তাই আমি কৌণিক-ক্লাইটি ব্যবহার করার সিদ্ধান্ত নিয়েছি , তবে প্রকল্পটি স্থাপনের পরে আমি 41,000 ফাইল গণনা করেছি।

আমি ভুল হয়ে যেতে পারে যেখানে? আমি কি সত্যিই সুস্পষ্ট কিছু মিস করছি?


98
এনপিএম দ্বারা চালিত প্রকল্পগুলির পক্ষে এটি স্বাভাবিক।
এভারেটসস

115
@ হেন্ডরিক্স কারণ আমার স্থাপনা (গুগল অ্যাপ ইঞ্জিন) কেবলমাত্র 10 কে ফাইলের অনুমতি দেয়
মোশে শাহাম

49
এই প্রশ্নে এবং এর উত্তর সম্পর্কে ভোটের সংখ্যা সম্পর্কে আগ্রহী যে কারও জন্য, এটি এইচএন প্রথম পৃষ্ঠা তৈরি করেছে। নিউজ.ইকম্বিনেটর.com
item?

50
@ হেন্ডরিক্স - আমি বাজি ধরছি আপনি .ডিএসএস স্টোর ফাইলগুলিও গিট করার জন্য প্রতিশ্রুতিবদ্ধ।
মার্টিন কনেকনি

61
আমি মনে করি "যদি আপনার হ্যালো ওয়ার্ল্ড অ্যাপ্লিকেশন কাজ করে, তবে সবকিছু ঠিক আছে" অনুসরণ করা ভাল দর্শন নয়, বিশেষত যে কেউ শিখছেন for এতগুলি ফাইল কেন তৈরি করা হয়েছিল তা প্রশ্নে ওপি ঠিক ঠিক। উদাহরণটি কেবলমাত্র 5 টি ফাইলের উল্লেখ করে। এবং সত্যই, কোনও অ্যাপ্লিকেশন যার আউটপুটে চিঠি রয়েছে তার চেয়ে বেশি ফাইল রয়েছে এমন প্রশ্ন করা উচিত।
শনি

উত্তর:


362

আপনার কনফিগারেশনে কোনও ভুল নেই।

কৌণিক (সংস্করণ 2.0) বিকাশের জন্য এনপিএম মডিউল এবং নির্ভরতা ব্যবহার করে। আপনি এত বিশাল সংখ্যক ফাইল দেখছেন এটিই একমাত্র কারণ।

কৌণিক একটি মৌলিক সেটআপ transpiler, typings নির্ভরতা যা রয়েছে অপরিহার্য উন্নয়ন উদ্দেশ্যে শুধুমাত্র জন্য।

একবার আপনি বিকাশ সম্পন্ন হয়ে গেলে, আপনাকে এই অ্যাপ্লিকেশনটি বান্ডিল করতে হবে।

আপনার অ্যাপ্লিকেশন বান্ডিল করার পরে, কেবলমাত্র একটি bundle.jsফাইল থাকবে যা আপনি আপনার সার্ভারে স্থাপন করতে পারেন।

'ট্রান্সপ্লার' কেবল একটি সংকলক, ধন্যবাদ এটি যোগ করার জন্য @ অমনোনেসেসকে ধন্যবাদ।


7
এটি সাধারণত পরীক্ষার ডেটা এবং পরীক্ষাগুলি আনয়ন করে এবং নির্ভরতা এবং তাদের নির্ভরতা ইত্যাদির জন্য সরঞ্জামগুলি তৈরি করে।
বেনজামিন গ্রুয়েনবাউম

63
একটি "ট্রান্সপোর্টার" কেবল একটি সংকলক।
omninonsense

31
কিন্তু কোড বা মেশিন কোড বাইট না করে অন্য কোনও ভাষায় সংকলন করে
হান্টার ম্যাকমিলেন

32
@ হান্টারএমসি মিলিলেন বাইট কোড এবং / অথবা মেশিন কোড অন্য ভাষা। "সংযোজক" ব্যতীত "ট্রান্সপ্লার" শব্দটির কোনও অতিরিক্ত অর্থ নেই।
ব্র্যান্ডন বাক

76
জড়িত সকলের প্রতি শ্রদ্ধার সাথে আমি নিশ্চিত নই যে শব্দার্থবিজ্ঞানের যুক্তিটি ওপির প্রশ্নের সাথে সত্যই প্রাসঙ্গিক ^^
ড্যান প্যান্ট্রি

144
                                Typical Angular2 Project

এনপিএম প্যাকেজ                        ফাইল (বিকাশ)                   রিয়েল ওয়ার্ল্ড ফাইল (স্থাপনা)

@angular                       3,236                             1
rxJS                           1,349                             1*
core-js                        1,341                             2
typings                        1,488                             0
gulp                           1,218                             0
gulp-typescript                1,243                             0
lite-server                    5,654                             0
systemjs-builder               6,470                             0
__________________________________________________________________
Total                         21,999                             3  

*: bundled with @angular

[ বান্ডিলিং প্রক্রিয়াটির জন্য এটি দেখুন ⇗ ]


24
আমার অনুমান -3যে যোগফলটি না করার জন্য দেওয়া হয়েছিল তবে এখন আমার কাছে রয়েছে :)
অঙ্কিত সিং

1
রিয়েল ওয়ার্ল্ড ফাইল বলতে কী বোঝ?
ইয়াহমান

1
@ ইয়েম্যান "রিয়েল ওয়ার্ল্ড ফাইলগুলি" হ'ল ফাইলগুলির সংখ্যা হ'ল যখন আপনার প্রকল্প স্থাপন করা হয় বা উত্পাদনে থাকে
মার্তি

এছাড়াও আকারের গণনা, কেবল 3 টি ফাইল, তবে সেগুলি বিশাল হতে পারে (ওয়েবের জন্য)
পিডিএম

51

আপনার বিকাশের কনফিগারেশনে কোনও ভুল নেই ।

আপনার উত্পাদন কনফিগারেশন কিছু ভুল ।

আপনি যখন একটি "কৌণিক 2 প্রকল্প" বা "যে কোনও প্রকল্প যা জেএস ভিত্তিক" বিকাশ করে আপনি সমস্ত ফাইল ব্যবহার করতে পারেন, আপনি সমস্ত ফাইল চেষ্টা করতে পারেন, আপনি সমস্ত ফাইল আমদানি করতে পারেন। তবে আপনি যদি এই প্রকল্পটি পরিবেশন করতে চান তবে আপনাকে সমস্ত কাঠামোগত ফাইল একত্রিত করতে হবে এবং অকেজো ফাইলগুলি থেকে মুক্তি পেতে হবে।

এই ফাইলগুলিকে একত্রিত করার জন্য প্রচুর বিকল্প রয়েছে:


2
আপনি (উদ্ধৃতি আবশ্যক) সার্ভারে একসাথে ফাইলগুলি সংযুক্ত করা উচিত নয়। বেশিরভাগ ক্ষেত্রে, আমি একটি ট্রান্সপোর্টার ব্যবহার করব।
ড্যান প্যান্ট্রি

1
@ ড্যানপ্যান্ট্রি ট্রান্সপ্লেলারগুলি উত্স থেকে উত্স সংকলক। আমি মনে করি তারা কেবল "এক্স" "জেএস" তে পরিবর্তন করতে পারে। ফাইলের সংখ্যা একই are
হারিকেন

1
হ্যাঁ, তবে আমি আপনার বক্তব্য সম্পর্কে নিশ্চিত নই। আমার বক্তব্যটি হ'ল আপনার সম্ভবত সার্ভার কোডটি ছোট করার চেষ্টা করা উচিত নয় (ফাইলগুলি সংযুক্ত করে এবং এভাবে ফাইলের আকার হ্রাস করে)। সর্বাধিকপক্ষে, আপনার কোডটিতে বাবেল ব্যবহার করা উচিত যদি আপনি অ্যাসিঙ্ক / অপেক্ষার মতো রক্তপাতের বৈশিষ্ট্যগুলি ব্যবহার করেন।
ড্যান প্যান্ট্রি

2
@ ড্যানপ্যান্ট্রি আমি আপনার সাথে একমত তবে মন্তব্যে প্রশ্নকর্তা বলেছেন "কারণ আমার স্থাপনা (গুগল অ্যাপ ইঞ্জিন) কেবলমাত্র 10 কে ফাইলের অনুমতি দেয়"। এই পরিস্থিতিতে আমাদের ফাইলের সংখ্যা ছোট করতে হবে।
হারিকেন

4
আমি আপনার সাথে একমত হয়েছি তবে ওপিকে এখানে একটি এক্সওয়াই ইস্যু আছে বলে মনে হচ্ছে
ড্যান প্যান্ট্রি

30

বেশ কয়েকটি ব্যক্তি ইতিমধ্যে উল্লিখিত হিসাবে: আপনার নোড_মডিউল ডিরেক্টরি ডিরেক্টরি (প্যাকেজগুলির জন্য এনপিএম অবস্থান) এর সমস্ত ফাইলগুলি আপনার প্রকল্প নির্ভরতার (তথাকথিত প্রত্যক্ষ নির্ভরতা) অংশ। এটির সংযোজন হিসাবে, আপনার নির্ভরতাগুলির নিজস্ব নিজস্ব নির্ভরতা ইত্যাদিও থাকতে পারে ইত্যাদি So তথাকথিত ট্রানজিটিভ নির্ভরতা। বেশ কয়েকটি দশ হাজার ফাইল বিশেষ কিছু নয়।

আপনাকে কেবল 10'000 ফাইল আপলোড করার অনুমতি দেওয়া হয়েছে (মন্তব্য দেখুন), তাই আমি একটি বান্ডলার ইঞ্জিন নিয়ে যেতে চাই with এই ইঞ্জিনটি আপনার সমস্ত জাভাস্ক্রিপ্ট, সিএসএস, এইচটিএমএল ইত্যাদি বান্ডিল করবে এবং একটি একক বান্ডিল তৈরি করবে (বা যদি আপনি সেগুলি নির্দিষ্ট করেন তবে আরও)। আপনার সূচি html এই বান্ডিলটি লোড করবে এবং এটিই।

আমি ওয়েবপ্যাকের একজন অনুরাগী, সুতরাং আমার ওয়েবপ্যাক সমাধানটি একটি অ্যাপ্লিকেশন বান্ডেল এবং একটি বিক্রেতার বান্ডিল তৈরি করবে (সম্পূর্ণ কার্যকারী অ্যাপ্লিকেশনটির জন্য এখানে দেখুন https://github.com/swaechter/project-collection/tree/master/web-angular2- উদাহরণ ):

index.html

<!DOCTYPE html>
<html>
<head>
    <base href="/">
    <title>Webcms</title>
</head>
<body>
<webcms-application>Applikation wird geladen, bitte warten...</webcms-application>
<script type="text/javascript" src="vendor.bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script>
</body>
</html>

webpack.config.js

var webpack = require("webpack");
var path = require('path');

var ProvidePlugin = require('webpack/lib/ProvidePlugin');
var CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin');
var UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin');

/*
 * Configuration
 */
module.exports = {
    devtool: 'source-map',
    debug: true,

    entry: {
        'main': './app/main.ts'
    },

    // Bundle configuration
    output: {
        path: root('dist'),
        filename: '[name].bundle.js',
        sourceMapFilename: '[name].map',
        chunkFilename: '[id].chunk.js'
    },

    // Include configuration
    resolve: {
        extensions: ['', '.ts', '.js', '.css', '.html']
    },

    // Module configuration
    module: {
        preLoaders: [
            // Lint all TypeScript files
            {test: /\.ts$/, loader: 'tslint-loader'}
        ],
        loaders: [
            // Include all TypeScript files
            {test: /\.ts$/, loader: 'ts-loader'},

            // Include all HTML files
            {test: /\.html$/, loader: 'raw-loader'},

            // Include all CSS files
            {test: /\.css$/, loader: 'raw-loader'},
        ]
    },

    // Plugin configuration
    plugins: [
        // Bundle all third party libraries
        new CommonsChunkPlugin({name: 'vendor', filename: 'vendor.bundle.js', minChunks: Infinity}),

        // Uglify all bundles
        new UglifyJsPlugin({compress: {warnings: false}}),
    ],

    // Linter configuration
    tslint: {
        emitErrors: false,
        failOnHint: false
    }
};

// Helper functions
function root(args) {
    args = Array.prototype.slice.call(arguments, 0);
    return path.join.apply(path, [__dirname].concat(args));
}

সুবিধাদি:

  • সম্পূর্ণ বিল্ড লাইন (টিএস আবরণ, সংকলন, মিনিফিকেশন ইত্যাদি)
  • মোতায়েনের জন্য 3 টি ফাইল -> কেবলমাত্র কয়েকটি এইচটিপিপি অনুরোধ

অসুবিধা:

  • উচ্চ বিল্ড সময়
  • এইচটিটিপি 2 প্রকল্পের জন্য সেরা সমাধান নয় (অস্বীকৃতি দেখুন)

দাবি অস্বীকার: এটি এইচটিটিপি ১ এর জন্য একটি ভাল সমাধান * * কারণ এটি প্রতিটি এইচটিটিপি অনুরোধের জন্য ওভারহেডকে ছোট করে দেয়। আপনার কাছে কেবল আপনার সূচিপত্রের জন্য একটি অনুরোধ আছে html এবং প্রতিটি বান্ডিল - তবে 100 - 200 ফাইলের জন্য নয়। এই মুহুর্তে, এই পথে যেতে হবে।

অন্যদিকে, এইচটিটিপি 2, এইচটিটিপি ওভারহেডকে হ্রাস করার চেষ্টা করে, তাই এটি স্ট্রিম প্রোটোকলের উপর ভিত্তি করে। এই স্ট্রিমটি উভয় দিকেই (ক্লায়েন্ট <--> সার্ভার) যোগাযোগ করতে সক্ষম এবং এর কারণ হিসাবে আরও বুদ্ধিমান রিসোর্স লোড করা সম্ভব (আপনি কেবলমাত্র প্রয়োজনীয় ফাইলগুলি লোড করুন)। স্ট্রিমটি এইচটিটিপি ওভারহেডের অনেকগুলি সরিয়ে দেয় (কম এইচটিটিপি রাউন্ড ট্রিপস)।

তবে এটি আইপিভি 6 এর মতোই: লোকেরা সত্যিই এইচটিপিপি 2 ব্যবহার না করা পর্যন্ত কয়েক বছর সময় লাগবে


1
যদিও অপরিহার্য নয়, যেহেতু angular-cliওপিতে ইতিমধ্যে একটি বান্ডলার (একই প্রস্তাবিত ওয়েবপ্যাক) নিয়ে আসে তা ব্যবহার করে উল্লেখ করা হয়েছে ।
মাতারাউ

2
@ এমডেন্টিনহো হ্যাঁ, আরও আধুনিক প্রকাশে। তবে ২০১ System সালে সিস্টেমজেএস এবং সিআইএলই যাওয়ার উপায় ছিল (আনন্দের সাথে আমাদের এখন ওয়েবপ্যাক রয়েছে)
সোয়েচার

21

আপনাকে নিশ্চিত করতে হবে যে আপনি কৌণিক সিএলআই দ্বারা উত্পন্ন আপনার প্রকল্প থেকে কেবলমাত্র (বিতরণের জন্য সংক্ষিপ্ত) ফোল্ডার স্থাপন করছেন । এটি সরঞ্জামটিকে আপনার উত্স কোড এবং এটি নির্ভরতা নিতে দেয় এবং আপনার অ্যাপ্লিকেশনটি চালানোর জন্য আপনাকে যা প্রয়োজন তা কেবল আপনাকে দেয় give

বলা হচ্ছে যে / ng বিল্ড - প্রোডের মাধ্যমে প্রোডাকশন বিল্ডের ক্ষেত্রে কৌণিক সিএলআইয়ের সাথে একটি সমস্যা আছে / ছিল

গতকাল (২ আগস্ট, ২০১ )) একটি রিলিজ করা হয়েছিল যা ব্রোকলি + সিস্টেমজগুলি থেকে ওয়েবপ্যাকে বিল্ড প্রক্রিয়াটি পরিবর্তন করে যা উত্পাদন বিল্ডগুলি সফলভাবে পরিচালনা করে।

এই পদক্ষেপের উপর ভিত্তি করে:

ng new test-project
ng build --prod

আমি এখানে তালিকাভুক্ত 14 টি ফাইল জুড়ে 1.1 মেগাবাইটের একটি distফোল্ডারটি দেখছি :

./app/index.js
./app/size-check.component.css
./app/size-check.component.html
./favicon.ico
./index.html
./main.js
./system-config.js
./tsconfig.json
./vendor/es6-shim/es6-shim.js
./vendor/reflect-metadata/Reflect.js
./vendor/systemjs/dist/system.src.js
./vendor/zone.js/dist/zone.js

দ্রষ্টব্য বর্তমানে কৌণিক ক্লাইপের ওয়েবপ্যাক সংস্করণ ইনস্টল করতে আপনার অবশ্যই চালানো হবে ...npm install angular-cli@webpack -g


14

কৌণিক নিজে থেকেই প্রচুর নির্ভরতা রয়েছে এবং সিএলআইয়ের বিটা সংস্করণ আরও চারগুণ ফাইল ডাউনলোড করে।

এটি কীভাবে একটি সহজ প্রকল্প তৈরি করা যায় ফাইলগুলি ("কেবল" 10K ফাইলগুলি) কমবে https://yakovfain.com/2016/05/06/starting-an-angular-2-rc-1-project/


12

দেখে মনে হচ্ছে কেউ এখানে বর্ণিত সামনের সময়ের সংকলন উল্লেখ করেনি: https://angular.io/docs/ts/latest/cookbook/aot-compiler.html

অ্যাঙ্গুলারের সাথে আমার এখনও পর্যন্ত অভিজ্ঞতা হল যে এওটি প্রায় কোনও লোড হওয়ার সময় ছাড়াই ক্ষুদ্রতম বিল্ডগুলি তৈরি করে। এবং এখানে গুরুত্বপূর্ণ প্রশ্নটি হিসাবে গুরুত্বপূর্ণ - আপনার কেবলমাত্র কয়েকটি ফাইল উত্পাদন করতে পাঠানো প্রয়োজন।

এটি দেখে মনে হচ্ছে কারণ কৌণিক সংকলকটি উত্পাদন বাড়ানোর সাথে প্রেরণ করা হবে না কারণ টেমপ্লেটগুলি "সময়ের পূর্বে" সংকলিত হয়েছে। আপনার এইচটিএমএল টেমপ্লেট মার্কআপটিকে জাভাস্ক্রিপ্ট নির্দেশাবলীতে রূপান্তরিত করে দেখতে খুব শীতল হয়েছে যা প্রকৃত এইচটিএমএলে প্রকৌশলীকে বিপরীত করা খুব কঠিন hard

আমি একটি সাধারণ ভিডিও তৈরি করেছি যেখানে আমি দেব বনাম এওটি বিল্ডে একটি কৌণিক অ্যাপ্লিকেশনটির জন্য ডাউনলোডের আকার, ফাইলগুলির সংখ্যা ইত্যাদি প্রদর্শন করি - যা আপনি এখানে দেখতে পারেন:

https://youtu.be/ZoZDCgQwnmQ

আপনি এখানে ডেমোটির উত্স কোডটি পাবেন:

https://github.com/fintechneo/angular2-templates

এবং - অন্যরা এখানে যেমন বলেছে - আপনার বিকাশের পরিবেশে যখন অনেকগুলি ফাইল থাকে তখন কিছুই ভুল হয় না। এটি কৌণিক এবং অন্যান্য অনেক আধুনিক কাঠামোর সাথে আসা সমস্ত নির্ভরতাগুলির সাথে এটি how তবে এখানে পার্থক্য হ'ল উত্পাদনে প্রেরণের সময় আপনার এটি কয়েকটি ফাইলে প্যাক করতে সক্ষম হওয়া উচিত। এছাড়াও আপনি এই সমস্ত নির্ভরতা ফাইলগুলি আপনার গিট সংগ্রহস্থলে রাখতে চান না।


8

এটি আসলে কৌণিক নির্দিষ্ট নয়, প্রায় কোনও প্রকল্পের সাথে ঘটে যা নুডজেস / এনপিএম ইকোসিস্টেমটি তার সরঞ্জামকরণের জন্য ব্যবহার করে।

এই প্রকল্পগুলি আপনার নোড_মডিউলগুলি ফোল্ডারগুলির মধ্যে রয়েছে এবং এটি হ'ল ট্রানজিটইভ নির্ভরতা যা আপনার প্রত্যক্ষ নির্ভরতা চালানোর প্রয়োজন।

নোডে ইকোসিস্টেম মডিউলগুলি সাধারণত ছোট থাকে যার অর্থ আমরা নিজেরাই জিনিসগুলি বিকাশের পরিবর্তে মডিউল আকারে আমাদের যা প্রয়োজন তার বেশিরভাগ আমদানি করি। এর মধ্যে বিখ্যাত বাম-প্যাড ফাংশন এর মতো ছোট ছোট জিনিস অন্তর্ভুক্ত থাকতে পারে, যদি অনুশীলন হিসাবে না হয় তবে নিজেরাই কেন লিখুন?

সুতরাং ফাইলগুলির প্রচুর পরিমাণে আসলে এটি একটি ভাল জিনিস, এর অর্থ হ'ল সবকিছু খুব মডিউলার এবং মডিউল লেখকরা অন্যান্য মডিউলগুলি প্রায়শই পুনরায় ব্যবহার করেন। এই নমনীয়তার স্বাচ্ছন্দতা নোড ইকোসিস্টেমটি এত তাড়াতাড়ি বেড়ে যাওয়ার সম্ভবত অন্যতম প্রধান কারণ।

নীতিগতভাবে এটি কোনও সমস্যার কারণ নয়, তবে মনে হয় আপনি কোনও গুগল অ্যাপ ইঞ্জিন ফাইল গণনা সীমাতে চলেছেন। সে ক্ষেত্রে আমি অ্যাপ ইঞ্জিনে নোড_মডিউলগুলি আপলোড না করার পরামর্শ দিই।

পরিবর্তে স্থানীয়ভাবে অ্যাপ্লিকেশনটি তৈরি করুন এবং গুগল অ্যাপ্লিকেশন ইঞ্জিনে কেবল বান্ডিল করা ফাইলইন আপলোড করুন তবে অ্যাপ্লিকেশন ইঞ্জিনে নিজেই বিল্ড করবেন না।


8

আপনি যদি কৌণিক ক্লাইয়ের নতুন সংস্করণ ব্যবহার করে থাকেন ng build --prod

এটি ডিস ফোল্ডার তৈরি করবে যাতে কম ফাইল রয়েছে এবং প্রকল্পের গতি বৃদ্ধি পাবে।

এছাড়াও কৌনিক ক্লাইপের সর্বোত্তম পারফরম্যান্স সহ স্থানীয়ভাবে পরীক্ষার জন্য আপনি ব্যবহার করতে পারেন ng serve --prod


6

আপনি যদি কৌনিক সিএলআই ব্যবহার করেন আপনি যখন কোনও প্রকল্প তৈরি করেন আপনি সর্বদা - সর্বনিম্ন পতাকা ব্যবহার করতে পারেন

ng new name --minimal

আমি এটি পতাকা সহ চালিয়েছি এবং এটি 24 600 ফাইল ng build --prodতৈরি করে 212 কেবি ডিস্ট ফোল্ডার তৈরি করে

সুতরাং যদি আপনার প্রকল্পে জলের ফোয়ারাগুলির প্রয়োজন না হয় বা দ্রুত কিছু পরীক্ষা করে দেখতে চান তবে আমি মনে করি এটি বেশ দরকারী


5

সম্প্রতি কৌণিক ক্লাইম দিয়ে একটি নতুন প্রকল্প তৈরি করা এবং নোড_মডিউলগুলি ফোল্ডারটি ছিল ২00 এমবি, সুতরাং হ্যাঁ এটি সাধারণ তবে আমি নিশ্চিত যে কৌণিক বিশ্বের সবচেয়ে নতুন ডিভাস এটি বৈধ এবং বৈধ। একটি সহজ নতুন প্রকল্পের জন্য এটি নির্ভরতা কিছুটা কমিয়ে আনার অর্থ হবে;) সমস্ত প্যাকেজগুলি কী নির্ভর করে তা বিশেষত নতুন দেবগণের জন্য প্রথমবারের মতো ক্লাইটি চেষ্টা করার চেষ্টা করা কিছুটা উদ্বেগজনক হতে পারে। কেবলমাত্র রফতানি হওয়া ফাইলগুলি পেতে বেশিরভাগ বেসিক টিউটোরিয়ালগুলি মোতায়েনের সেটিংস নিয়ে আলোচনা করে না। আমিও বিশ্বাস করি না এমনকি কৌনিক অফিসিয়াল ওয়েবসাইটে দেওয়া টিউটোরিয়ালটি কীভাবে সহজ প্রকল্পটি স্থাপন করা যায় সে সম্পর্কে আলোচনা করে।

দেখে মনে হচ্ছে নোড_মডিউল ফোল্ডারটি অপরাধী


4

কৌণিক প্রকল্পগুলিতে কী বেশি জায়গা নেয় তার একটি তুলনা এখানে দেওয়া হয়েছে। এখানে চিত্র বর্ণনা লিখুন


3

যদি আপনার ফাইল সিস্টেমটি প্রতীকী লিঙ্কগুলিকে সমর্থন করে, তবে আপনি কমপক্ষে এই সমস্ত ফাইল একটি লুকানো ফোল্ডারে রিলিগেট করতে পারেন - যাতে স্মার্ট সরঞ্জামটি treeডিফল্টরূপে সেগুলি প্রদর্শন না করে।

mv node_modules .blergyblerp && ln -s .blergyblerp node_modules

এর জন্য কোনও লুকানো ফোল্ডার ব্যবহার করা এই বোঝার জন্য উত্সাহিত করতে পারে যে এগুলি বিল্ড-সম্পর্কিত মধ্যবর্তী ফাইল যা পুনর্বিবেচনা নিয়ন্ত্রণে সংরক্ষণ করার দরকার নেই - বা সরাসরি আপনার স্থাপনায় ব্যবহার করা হবে।


আমার ব্রেডক্রাম্বা বাসি হয়ে গেছে, তবে এখানে এটি কী বোঝায়: web.archive.org/web/20150216184318/https://docs.npmjs.com/misc/…
11:16

2

ভুল কিছুই নেই. এই সমস্ত নোড নির্ভরতা যা আপনি প্যাকেজ.জসনে উল্লেখ করেছেন।

আপনি যদি গিট হাব প্রকল্পের কিছু ডাউনলোড করে থাকেন তবে খুব সাবধান থাকুন, এতে অন্যান্য অনেক নির্ভরতা থাকতে পারে যা আসলে কৌনিক 2 প্রথম হ্যালো ওয়ার্ল্ড অ্যাপের জন্য প্রয়োজন নেই :)

  • আপনার কৌণিক নির্ভরতা রয়েছে কিনা তা নিশ্চিত করুন-rxjs-gulp-typype -tslint -docker
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.