আমি কৌনিকটিতে জাভাস্ক্রিপ্ট স্ক্রিপ্ট ফাইলটি কীভাবে অন্তর্ভুক্ত করব এবং সেই স্ক্রিপ্ট থেকে কোনও ফাংশন কল করব?


119

আমার কাছে একটি জাভাস্ক্রিপ্ট ফাইল abc.jsরয়েছে যা একটি 'পাবলিক' ফাংশন বলে xyz()। আমি আমার কৌণিক প্রকল্পে এই ফাংশনটি কল করতে চাই। আমি কেমন করে ঐটি করি?

উত্তর:


105

angular-cli.json( angular.jsonকৌণিক 6+ ব্যবহার করার সময়) ফাইলের অভ্যন্তরে স্ক্রিপ্টগুলি উল্লেখ করুন।

"scripts": [
    "../path" 
 ];

তারপরে যুক্ত করুন typings.d.ts(এই ফাইলটি srcইতিমধ্যে বিদ্যমান না থাকলে এটি তৈরি করুন )

declare var variableName:any;

আপনার ফাইল হিসাবে এটি আমদানি করুন

import * as variable from 'variableName';

9
আমি স্ক্রিপ্টগুলিতে "স্ক্রিপ্ট" হিসাবে পথ যুক্ত করেছি: ["./assets/common_header_sidebar.js"]; তারপরে টাইপিং.ডে.এস.এস.-এ আমি লিখি ভেরার সাধারণহাইডার: যে কোনও; এবং তারপরে আমার টিএস ফাইলে আমি 'কমনহিডার' থেকে কমনহাইডারমডুল হিসাবে আমদানি লিখেছিলাম; তবে "মডিউল 'কমনহাইডার' খুঁজে পাচ্ছেন না।" ত্রুটি
পীযুষ জৈন

6
আমি এটি জিজ্ঞাসা করার জন্য বোকা শব্দ হতে পারে। তবে কীভাবে ফাইলের ফাইলের নাম (কৌণিক-ক্লিপ.জসনে ঘোষিত) এবং টাইপিং.ড.টি.এস.এস. ফাইলে বস্তুর নাম ঘোষণা সম্পর্কিত। যেহেতু আমি ঘোষিত বস্তুর নাম থেকে ফাইলটি আমদানি করছি না
পিয়ুশ জৈন

2
আপনি কি plunkerপুনরুত্পাদন করতে একটি তৈরি করতে পারেন
অরবিন্দ

2
সংহতকরণের সাথে এটি করা হয়েছে যে আমি আমার টিএস ফাইলটিতে ফাংশনটি ঘোষণা করতে হয়েছিল যেখানে আমি এটি ব্যবহার করছি এবং আমদানির প্রয়োজন ছিল না। অসংখ্য ধন্যবাদ .
পীযুষ জৈন

2
@ অরবিন্দ আমার কি আমার কৌণিক 4 প্রকল্পে টাইপ.ড.টি.এস. ফাইল না থাকলে?
হাবিব

33

একটি বৈশ্বিক গ্রন্থাগার অন্তর্ভুক্ত করার জন্য, যেমন jquery.jsস্ক্রিপ্টস অ্যারেতে ফাইল angular-cli.json( angular.jsonকৌনিক 6+ ব্যবহার করার সময়) থেকে:

"scripts": [
  "../node_modules/jquery/dist/jquery.js"
]

এর পরে, এনজি সার্ভিসটি যদি এটি ইতিমধ্যে শুরু হয় তবে পুনরায় চালু করুন।


3
আপনি টাইপ স্ক্রিপ্ট ফাইলটিতে কীভাবে আমদানি করবেন?
alansiqueira27

1
টিএস ফাইল ব্যবহারে আমদানি করতে -declare var $: any;
ওজুস কুলকারনী

3
কৌণিক-ক্লি.জেসন ফাইলটি অ্যাংুলার 6+ সংস্করণে অ্যাঙ্গুলার.জসনের সাথে নতুন নাম / প্রতিস্থাপন করা হয়েছে।
Г И І И О

22

বাইরের JS ফাইল জুড়ুন index.html

<script src="./assets/vendors/myjs.js"></script>

এখানে myjs.js ফাইলটি রয়েছে:

var myExtObject = (function() {

    return {
      func1: function() {
        alert('function 1 called');
      },
      func2: function() {
        alert('function 2 called');
      }
    }

})(myExtObject||{})


var webGlObject = (function() { 
    return { 
      init: function() { 
        alert('webGlObject initialized');
      } 
    } 
})(webGlObject||{})

তারপরে এটি নীচের মতো উপাদান হিসাবে ঘোষণা করুন

demo.component.ts

declare var myExtObject: any;
declare var webGlObject: any;

constructor(){
    webGlObject.init();
}

callFunction1() {
    myExtObject.func1();
}

callFunction2() {
    myExtObject.func2();
}

demo.component.html

<div>
    <p>click below buttons for function call</p>
    <button (click)="callFunction1()">Call Function 1</button>
    <button (click)="callFunction2()">Call Function 2</button>
</div>

এটি আমার জন্য কাজ করছে ...


খুব পুঙ্খানুপুঙ্খ উদাহরণ ধন্যবাদ, এটি আমার জন্য কৌণিক on. এ কাজ করেছে answers
ড্যানিয়েল ফিলিপ

Fwiw, এখান থেকে কিছু ব্যাখ্যা কী declareকরে - মূলত " declareটাইপ করা বিষয় বলতে পরিবর্তনশীল অন্যত্র তৈরি করা হয়েছে ব্যবহার করা হয় (থেকে" এই উত্তর )।
রাফিন

18

অপরপক্ষে তুমি

import * as abc from './abc';
abc.xyz();

অথবা

import { xyz } from './abc';
xyz()

26
স্থানীয় রেপোতে ফাইলটি কোথাও হোস্ট করা না হলে আমার কী করা উচিত?
পীযুষ জৈন

তুমি কি এটা বুঝেছ?
লুইস এসিটুনো

উভয় পদ্ধতিতে ত্রুটি পাওয়া। আমার প্রকল্পে আমার কাছে একটি জেএস ফাইল আছে তবে আমি যখন প্রথম পদ্ধতিতে আমদানি করি তখন এটি আমাকে সংকলনের ক্ষেত্রে ত্রুটি দেয় এবং আমি যখন দ্বিতীয় পদ্ধতিটি ব্যবহার করি তখন কোনও মডিউল খুঁজে পাই না। এবং আমি কেবল স্লিক স্লাইডার ব্যবহার করছি।
হাবিব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.