[Special Summer Sale] 40% OFF All Magento 2 Themes

Cart

Importing Node Modules With JavaScript

  • This topic is empty.
Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #9593
    kyle2595
    Participant

    I apologize for the simple question, but I’m pretty new to web development and JavaScript.

    I want to import a package I’ve installed using npm, specifically shopify-buy following the guide here: https://shopify.github.io/js-buy-sdk/

    The package is in my node_modules folder and I’m trying to import it into a JavaScript document using import Client from 'shopify-buy';

    When I try to load everything up in Chrome, I get an error on the import line

    Uncaught SyntaxError: Unexpected identifier
    

    The Firefox error is a bit different: import declarations may only appear at top level

    What am I doing wrong?

    Edit:

    The import line is the first line in my JavaScript file. And my HTML file is properly linked to the JS file (I think).

    shopify.js

    // Functions for SHOPIFY
    import Client from 'shopify-buy';
    
    const client = Client.buildClient({
        domain: 'xxxxx.myshopify.com',
        storefrontAccessToken: 'xxxxx'
    });
    

    index.html

    <script src="javascript/shopify.js"></script>
    
    #9595
    ippei-tanaka
    Participant

    If you want to use npm modules via the syntax, like import sth from "something" for browsers, you’d need to set up a module bundler and ES6 compiler, such as Webpack and Babel. You’d need to google them and find tutorials for setting up them accordingly.

    An easy way to use the SDK seems to be using the CDN, since it’s already been built for browsers to understand. Something like:

    index.html

    <script src="http://sdks.shopifycdn.com/js-buy-sdk/v1/latest/index.umd.min.js"></script>
    <script src="javascript/shopify.js"></script>
    

    shopify.js

    const client = ShopifyBuy.buildClient({
        domain: 'your-shop-name.myshopify.com',
        storefrontAccessToken: 'your-storefront-access-token'
    });
    
    console.log(client); 
    
    #9594
    meghan
    Participant

    JavaScript Modules can only be run in module-mode scripts. Change your HTML to the following:

    <script type="module" src="javascript/shopify.js"></script>
    
Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.