Here is SystemJS + TypeScript plunk के रूप में नहीं माना जाता है, जो official Angular plunk template से बनाया गया है।.ts फ़ाइल को टाइपस्क्रिप्ट मॉड्यूल
यह
(SystemJS) SyntaxError: Missing initializer in const declaration
at eval()
...
त्रुटि फेंकता है और स्पष्ट रूप से .ts के रूप में आम जावास्क्रिप्ट फाइल जब फ़ाइल import
या export
बयान शामिल नहीं है का मूल्यांकन करता है:
main.ts
const foo: boolean = 'foo';
console.log(foo);
config.js
System.config({
//use typescript for compilation
transpiler: 'typescript',
//typescript compiler options
typescriptOptions: {
emitDecoratorMetadata: true
},
paths: {
'npm:': 'https://unpkg.com/'
},
//map tells the System loader where to look for things
map: {
'app': './src',
...
},
//packages defines our app package
packages: {
app: {
main: './main.ts',
defaultExtension: 'ts'
},
...
}
});
index.html
...
<script src="https://unpkg.com/[email protected]/dist/system.js"></script>
<script src="config.js"></script>
<script>
System.import('app')
.catch(console.error.bind(console));
</script>
...
लेकिन the same plunk is fine जब फ़ाइल ES6 मॉड्यूल के लक्षण हैं:
main.ts
const foo: boolean = 'foo';
console.log(foo);
export default null;
जाहिर है, अगर एक फ़ाइल में .ts एक्सटेंशन है, I टाइपस्क्रिप्ट के रूप में इसका मूल्यांकन करना पसंद करेंगे, चाहे वह कुछ आयात करे या नहीं।
यह सेटअप इस सेटअप में क्यों होता है? इसे कैसे सुधारा जा सकता है?
आप 'का उपयोग करना चाहिए प्लगइन-typescript'। 'systemjs' ट्रांसपेलर के साथ नहीं आता है, इसलिए बस' ट्रांस्लर: 'टाइपस्क्रिप्ट' काम नहीं करता – unional
मुझे नहीं लगता कि यह सच है। यदि 'निर्यात' कथन है तो टीएस काम करता है। प्रश्न यही कहता है। अन्यथा 'कॉन्स्ट फू: बूलियन =' फू 'एक वाक्यविन्यास त्रुटि फेंक देगा, है ना? – estus