I made a custom master page. I also made a custom CSS file, which I uploaded to "Style Library". I link to this CSS file by:
<SharePoint:CssRegistration name="<% $SPUrl:~SiteCollection/Style Library/coe/mainCOE.css%>" runat="server"/>
Now I want to make a custom JS file, and link to it in the custom master page. 1. Where should I upload the JS file, make a folder like the "Style Library"? 2. Is there a SharePoint way to link to the JS file, like the one above for a CSS file?
You can store JS files in the _layouts folder, but storing them in the Style Library gives you workflow/change history for free.
If you keep your JS files in the Style Library you can reference them in your MasterPage using the ~sitecollection token by using the <SharePoint:Scriptlink>
tag, like so:
<SharePoint:Scriptlink runat="server" Name="~sitecollection/Style Library/[YOUR SITE]/js/functions.js" Language="javascript" />