userqwert userqwert - 4 months ago 19
AngularJS Question

import javascript variable as constant angular

I'm trying to import a JS variable as a constant into my application, as I am unable to use conventional JSON methods.

I have this code:

//english.js
var english = {"title-1": "Some text"};
export { english as default };


And am importing it like this:

import { english } from '../path/english.js';

angular.module('myApp', ['ui.router'])

.constant('english', english)


And then trying to use it like this:

export class AController {
constructor($scope, english) {
'ngInject';
this.data = english; //undefined
....


What am I doing wrong here? english is undefined.

Answer

If you want english to be the default export, you need the default keyword and should have the following structure:

//english.js
var english = {"title-1": "Some text"};
export default english;

and you would import it without the {} like so:

import english from '../path/english';

To have english simply be one of exported items you would leave off the default keyword.

//english.js
export var english = {"title-1": "Some text"};

and to import it, the {} are required.

import {english} from '../path/english';

So in your case, either remove the default keyword when you export it, or remove the {} when you import it.

import and export documentation from mdn.