আমি কি নোড.জেএস এর জন্য জেএসের পরিবর্তে কফিস্ক্রিপ্ট ব্যবহার করতে পারি?


189

আমি নোড.জেএস কোড করতে এবং কফিস্ক্রিপ্ট ব্যবহার করতে চাইলে আমার বিধিনিষেধগুলি কী? আমি জেএসে সক্ষম হয়ে উঠতে সক্ষম কিছু করতে পারি?

উত্তর:


175

হ্যাঁ, কফিস্ক্রিপ্ট কেবল খাঁটি জেএসে সংকলন করে এটি সম্পূর্ণ নোড.জেএস এর সাথে সামঞ্জস্যপূর্ণ করে তোলে making

নোডে কফি স্ক্রিপ্টগুলি চালনা করতে আপনি যা করতে পারেন:

  • coffee -c example.coffeeসংকলন টাইপ করুন, তারপরে node example.jsসংকলিত জেএস চালানোর জন্য।
  • কেবল টাইপ করুন coffee example.coffee

2
তবে অন্যান্য কফিস্ক্রিপ্ট ফাইলগুলি ব্যবহার করার পরে কী হবে? আমি 1 কফিস্ক্রিপ্টে সবকিছু রাখতে চাই না
জিউ মেনগ

3
@ জিউ মেনগ আপনি একইভাবে একটি সম্পূর্ণ ডিরেক্টরি সংকলন করতে পারেন (উদাহরণের মাধ্যমে ডিরেক্টরিটি requireকফিকে ডিরেক্টরি নির্দেশক দিয়ে প্রতিস্থাপন করুন), বা আপনি যতক্ষণ না require('coffee-script')আগে পর্যন্ত কফিস্ক্রিপ্ট ফাইলগুলি কম্পাইল করতে পারেন ।
ডেভিড টাং

1
coffee example.coffeeপ্রাথমিকভাবে কি উন্নয়নের জন্য চলছে? বা এটি উত্পাদন করতে যথেষ্ট স্থিতিশীল?
mrmagooey

4
হ্যাঁ, দুটি পছন্দের মধ্যে পার্থক্য কী?
স্টিভ বেনিট

4
কফি ইনস্টল করতেsudo npm install -g coffee-script
দিমিত্রি Polushkin

89

আপনি কেবল কফিস্ক্রিপ্ট ফাইলগুলি সরাসরি নোডে চালাতে পারবেন না

coffee source.coffee

আপনি জাভাস্ক্রিপ্ট ফাইল হিসাবে তাদের প্রয়োজন হতে পারে। উদাহরণস্বরূপ, আপনার যদি lib.coffeeকোনও ডিরেক্টরি থাকে তবে আপনি লিখতে পারেন

require './lib'

একই ডিরেক্টরিতে অন্য একটি কফিস্ক্রিপ্ট ফাইল থেকে। (একটি জাভাস্ক্রিপ্ট ফাইল থেকে এটি করতে, আপনাকে require 'coffee-script'শীর্ষে যুক্ত করতে হবে )) সুতরাং, আপনাকে কখনই নোডের অধীনে স্পষ্টভাবে সংকলন করতে হবে না, যদি না আপনি এনপিএমের মতো সরঞ্জামের সাথে স্থাপনার জন্য আপনার প্রকল্পটি প্যাকেজিং করেন।

একটি সতর্কতামূলক: স্ট্যাক ট্রেসগুলিতে, আপনি যে লাইনের নম্বরগুলি দেখতে পাবেন তা সংকলিত জাভাস্ক্রিপ্টকে বোঝায়, এমনকি আপনি সরাসরি কফিস্ক্রিপ্ট চালাচ্ছেন (তাই আপনার জাভাস্ক্রিপ্টে অ্যাক্সেস নেই)। অনেক লোকেরা এটি ঠিক করার চেষ্টা করছেন, তবে এটি একটি বড় চ্যালেঞ্জ।


1
ক্লায়েন্ট-সাইড কফি / জেএস দিয়ে কী ঘটে?
অভিনব

ক্লায়েন্ট-সাইডের জন্য আপনাকে বিজ্ঞাপন পৃষ্ঠাতে অন্তর্ভুক্ত করতে হবে এমন বিজ্ঞাপন দোভাষী দরকার।
ড্যানিয়েল ভ্রুট

1
@ ফ্যানসি, কফস্ক্রিপ্ট> 1.6.1 উত্স মানচিত্রগুলি সমর্থন করে
মেগাটাক্স

1
আমি যতদূর বলতে পারি এটি আপনার মাথায় কফির সাথে জেএসকে সংযুক্ত না করে ডিবাগ করতে সক্ষম নয়।
এরিক

1
জেএস রূপান্তর বিধে কফিস্ক্রিপ্ট খুব সহজ, তারা সব ভাল নথিভুক্ত :)
কেদারে

57

হ্যাঁ, এখানে একটি আলাদা এবং সহজ উত্তর। আপনার 2 টি পদক্ষেপ করা দরকার।

  1. npm install coffee-script --save # I assume you would have done this already

  2. আছে require('coffee-script')প্রথম লাইন যে মৃত্যুদন্ড কার্যকর করবে server.jsএর app.js। ( আপডেট: কফি স্ক্রিপ্ট ১.7 থেকে, আপনাকে করতে হবেrequire('coffee-script/register'))

এটি আপনার অ্যাপ্লিকেশনটিতে কফিস্ক্রিপ্ট সংকলক নিবন্ধভুক্ত করে এবং আপনি এখন কফি ফাইল এবং জেএস ফাইলগুলি সমানভাবে চিকিত্সা শুরু করতে পারেন (যার অর্থ আপনারও কফি ফাইলের প্রয়োজন হতে পারে!)।

এই পদ্ধতিটির জন্য আপনাকে ভ্যানিলা জাভাস্ক্রিপ্টে কেবল একটি ফাইল (app.js) লিখতে হবে। তবে সুবিধাটি হ'ল আপনার স্থাপনার পরিবেশে আপনার অ্যাপ্লিকেশনটি চালানোর জন্য প্রাথমিকভাবে বিশ্বব্যাপী ইনস্টল করা নির্ভরতা হিসাবে কফিসিপি দরকার নেই। এই ক্ষেত্রে, আপনাকে কেবল আপনার কোডটি অনুলিপি করতে হবে, এবং npm installপ্রয়োজনীয় সমস্ত প্যাকেজ ইনস্টল করবে। এবং npm startআপনি আপ এবং চলমান হবে


2
@Gprasant এর 1.7 আপডেট সম্পর্কে নোটের জন্য ধন্যবাদ, কেন এই কাজ বন্ধ হয়ে গেল তা ভেবে আমি আমার চুল টানছিলাম।
pix0r

15

ভিডিও টিউটোরিয়াল

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

  1. Coffeescript এবং Node.js
  2. Nodemon

Nodetuts.com লিঙ্ক উপরে ভাঙা হয়। যদিও এই সাইটে টিউটোরিয়ালগুলি দুর্দান্ত দেখাচ্ছে।
একিলি

ধন্যবাদ, মূল লিঙ্ক গন্তব্যগুলি নিখোঁজ / সরানো হয়েছে। গুগল অনুসন্ধানে যা প্রকাশিত হয়েছে সেগুলিতে তাদের সেট করুন, ভিমিও ভিডিওগুলি @ অ্যাকাউন্টফ্লোরটাইলস
মার্ক এসেল

3
দুর্দান্ত নোডজেএস ডিমন / সম্পদ পাইপলাইন সমাধানের জন্য ব্রাঞ্চ.ইও দেখুন । কফি, সিএসএস সুপারসেটস এবং আরও অনেক কিছু কভার করে।
লিংকন বি

কিছুক্ষণ আগে এটি স্পট করেছে, কিন্তু পরে দেখা হয়নি। এটি আনার জন্য ধন্যবাদ
মার্ক এসেল

11

আপনি কফিস্ক্রিপ্টের জন্য জিটার , একটি সাধারণ ক্রমাগত সংকলন ব্যবহার করতে পারেন ।

npm install -g jitter

আসুন ধরা যাক আপনার কাছে কফি ডিরেক্টরিতে * .cofy ফাইলের একটি গুচ্ছ রয়েছে এবং সেগুলি জেএস ডিরেক্টরিতে সংকলন করতে চান। তারপরে চালান:

jitter coffee js

আপনি এটি পরিবর্তন না করা অবধি জিটার পটভূমিতে চলে (সিটিআরএল + সি), নতুন পরিবর্তনগুলির সন্ধানে।



6

এটা চেষ্টা কর

#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"

তারপরে:

chmod +x demo.coffee
./demo.coffee

নফের সাথে কফিস্ক্রিপ্টের বেশ দৃ integ় সংহতকরণ রয়েছে। একবার 'কফি-স্ক্রিপ্ট' মডিউলটি লোড হয়ে require('coffee-script')গেলে, উপরের শে-ব্যাং দ্বারা , যা আমি উপরে উপস্থাপন করেছি বা চালিয়ে coffee demo.coffee... একবার লোড হয়ে গেলে require('./foo')আপনি আনতে পারবেনfoo.coffee


ধন্যবাদ, এটি খুব দরকারী!
মাইক এলিস

0

আপনি যখন নিজের সমস্ত কফিস্ক্রিপ্ট ফাইলগুলি (সাবডির সহ একটি ডিরেক্টরিতে) প্রতিবার জাভাস্ক্রিপ্টে পরিবর্তন করতে চান তবে কেবল এই আদেশটি ব্যবহার করুন:

find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc

6
অন্তর্নির্মিত কফিস্ক্রিপ্ট কার্যকারিতাটিতে কী ভুল? coffee -o lib/ -cw src/
এএইডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.