Errors when configuring react native with typescript










1















To configure my react native project I followed this procedure minutely: https://facebook.github.io/react-native/blog/2018/05/07/using-typescript-with-react-native.
But this I'm going to compile I get fifteen errors from typescript compiler.



These are some of the errors:



  • Cannot redeclare block-scoped variable 'navigator'.

  • Subsequent property declarations must have the same type. Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'

  • Cannot find name 'Map'.

  • Subsequent variable declarations must have the same type

  • Duplicate identifier 'RequestInfo'.

  • 'FormData' was also declared here.

  • Cannot redeclare block-scoped variable 'console'.

  • annot redeclare block-scoped variable 'navigator'.

Information:



"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"


UPDATE



tsconfig.json




"compilerOptions":
"target": "es2017",
"module": "commonjs",
"allowJs": true,
"jsx": "react-native",
"sourceMap": true,
"outDir": "./build",
"rootDir": "./src",
"strict": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
,
"exclude": ["build", "index.js", "node_modules"]



package.json




"name": "test",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"tsc": "tsc --watch"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "^0.57.1"
,
"devDependencies":
"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"
,
"jest":
"preset": "react-native"




App.tsx



import React, Component from 'react';
import Platform, StyleSheet, Text, View from 'react-native';

const instructions = Platform.select(
ios: 'Press Cmd+R to reload,n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,n' +
'Shake or press menu button for dev menu',
);

type Props = ;
export default class App extends Component<Props>
render()
return (
<View style=styles.container>
<Text style=styles.welcome>Welcome to React Native!</Text>
<Text style=styles.instructions>To get started, edit App.js</Text>
<Text style=styles.instructions>instructions</Text>
</View>
);



const styles = StyleSheet.create(
container:
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


rn-cli.config.js



module.exports = 
getTransformModulePath()
return require.resolve('react-native-typescript-transformer');
,
getSourceExts()
return ['ts', 'tsx'];
,
;


The other files are the files autogenerated by react-native.










share|improve this question
























  • Please provide code sufficient to reproduce the problem so we can find the cause.

    – Matt McCutchen
    Nov 13 '18 at 15:00











  • You're absolutely right @Matt McCutchen, I just added details

    – Niccolò caselli
    Nov 13 '18 at 18:23















1















To configure my react native project I followed this procedure minutely: https://facebook.github.io/react-native/blog/2018/05/07/using-typescript-with-react-native.
But this I'm going to compile I get fifteen errors from typescript compiler.



These are some of the errors:



  • Cannot redeclare block-scoped variable 'navigator'.

  • Subsequent property declarations must have the same type. Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'

  • Cannot find name 'Map'.

  • Subsequent variable declarations must have the same type

  • Duplicate identifier 'RequestInfo'.

  • 'FormData' was also declared here.

  • Cannot redeclare block-scoped variable 'console'.

  • annot redeclare block-scoped variable 'navigator'.

Information:



"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"


UPDATE



tsconfig.json




"compilerOptions":
"target": "es2017",
"module": "commonjs",
"allowJs": true,
"jsx": "react-native",
"sourceMap": true,
"outDir": "./build",
"rootDir": "./src",
"strict": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
,
"exclude": ["build", "index.js", "node_modules"]



package.json




"name": "test",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"tsc": "tsc --watch"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "^0.57.1"
,
"devDependencies":
"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"
,
"jest":
"preset": "react-native"




App.tsx



import React, Component from 'react';
import Platform, StyleSheet, Text, View from 'react-native';

const instructions = Platform.select(
ios: 'Press Cmd+R to reload,n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,n' +
'Shake or press menu button for dev menu',
);

type Props = ;
export default class App extends Component<Props>
render()
return (
<View style=styles.container>
<Text style=styles.welcome>Welcome to React Native!</Text>
<Text style=styles.instructions>To get started, edit App.js</Text>
<Text style=styles.instructions>instructions</Text>
</View>
);



const styles = StyleSheet.create(
container:
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


rn-cli.config.js



module.exports = 
getTransformModulePath()
return require.resolve('react-native-typescript-transformer');
,
getSourceExts()
return ['ts', 'tsx'];
,
;


The other files are the files autogenerated by react-native.










share|improve this question
























  • Please provide code sufficient to reproduce the problem so we can find the cause.

    – Matt McCutchen
    Nov 13 '18 at 15:00











  • You're absolutely right @Matt McCutchen, I just added details

    – Niccolò caselli
    Nov 13 '18 at 18:23













1












1








1








To configure my react native project I followed this procedure minutely: https://facebook.github.io/react-native/blog/2018/05/07/using-typescript-with-react-native.
But this I'm going to compile I get fifteen errors from typescript compiler.



These are some of the errors:



  • Cannot redeclare block-scoped variable 'navigator'.

  • Subsequent property declarations must have the same type. Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'

  • Cannot find name 'Map'.

  • Subsequent variable declarations must have the same type

  • Duplicate identifier 'RequestInfo'.

  • 'FormData' was also declared here.

  • Cannot redeclare block-scoped variable 'console'.

  • annot redeclare block-scoped variable 'navigator'.

Information:



"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"


UPDATE



tsconfig.json




"compilerOptions":
"target": "es2017",
"module": "commonjs",
"allowJs": true,
"jsx": "react-native",
"sourceMap": true,
"outDir": "./build",
"rootDir": "./src",
"strict": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
,
"exclude": ["build", "index.js", "node_modules"]



package.json




"name": "test",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"tsc": "tsc --watch"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "^0.57.1"
,
"devDependencies":
"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"
,
"jest":
"preset": "react-native"




App.tsx



import React, Component from 'react';
import Platform, StyleSheet, Text, View from 'react-native';

const instructions = Platform.select(
ios: 'Press Cmd+R to reload,n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,n' +
'Shake or press menu button for dev menu',
);

type Props = ;
export default class App extends Component<Props>
render()
return (
<View style=styles.container>
<Text style=styles.welcome>Welcome to React Native!</Text>
<Text style=styles.instructions>To get started, edit App.js</Text>
<Text style=styles.instructions>instructions</Text>
</View>
);



const styles = StyleSheet.create(
container:
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


rn-cli.config.js



module.exports = 
getTransformModulePath()
return require.resolve('react-native-typescript-transformer');
,
getSourceExts()
return ['ts', 'tsx'];
,
;


The other files are the files autogenerated by react-native.










share|improve this question
















To configure my react native project I followed this procedure minutely: https://facebook.github.io/react-native/blog/2018/05/07/using-typescript-with-react-native.
But this I'm going to compile I get fifteen errors from typescript compiler.



These are some of the errors:



  • Cannot redeclare block-scoped variable 'navigator'.

  • Subsequent property declarations must have the same type. Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'

  • Cannot find name 'Map'.

  • Subsequent variable declarations must have the same type

  • Duplicate identifier 'RequestInfo'.

  • 'FormData' was also declared here.

  • Cannot redeclare block-scoped variable 'console'.

  • annot redeclare block-scoped variable 'navigator'.

Information:



"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"


UPDATE



tsconfig.json




"compilerOptions":
"target": "es2017",
"module": "commonjs",
"allowJs": true,
"jsx": "react-native",
"sourceMap": true,
"outDir": "./build",
"rootDir": "./src",
"strict": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
,
"exclude": ["build", "index.js", "node_modules"]



package.json




"name": "test",
"version": "0.0.1",
"private": true,
"scripts":
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"tsc": "tsc --watch"
,
"dependencies":
"react": "16.6.0-alpha.8af6728",
"react-native": "^0.57.1"
,
"devDependencies":
"@types/react": "^16.7.3",
"@types/react-native": "^0.57.8",
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.49.1",
"react-native-typescript-transformer": "^1.2.10",
"react-test-renderer": "16.6.0-alpha.8af6728",
"typescript": "^3.1.6"
,
"jest":
"preset": "react-native"




App.tsx



import React, Component from 'react';
import Platform, StyleSheet, Text, View from 'react-native';

const instructions = Platform.select(
ios: 'Press Cmd+R to reload,n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,n' +
'Shake or press menu button for dev menu',
);

type Props = ;
export default class App extends Component<Props>
render()
return (
<View style=styles.container>
<Text style=styles.welcome>Welcome to React Native!</Text>
<Text style=styles.instructions>To get started, edit App.js</Text>
<Text style=styles.instructions>instructions</Text>
</View>
);



const styles = StyleSheet.create(
container:
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
,
welcome:
fontSize: 20,
textAlign: 'center',
margin: 10,
,
instructions:
textAlign: 'center',
color: '#333333',
marginBottom: 5,
,
);


rn-cli.config.js



module.exports = 
getTransformModulePath()
return require.resolve('react-native-typescript-transformer');
,
getSourceExts()
return ['ts', 'tsx'];
,
;


The other files are the files autogenerated by react-native.







node.js reactjs typescript react-native npm






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 16 '18 at 8:36







Niccolò caselli

















asked Nov 13 '18 at 14:06









Niccolò caselliNiccolò caselli

967




967












  • Please provide code sufficient to reproduce the problem so we can find the cause.

    – Matt McCutchen
    Nov 13 '18 at 15:00











  • You're absolutely right @Matt McCutchen, I just added details

    – Niccolò caselli
    Nov 13 '18 at 18:23

















  • Please provide code sufficient to reproduce the problem so we can find the cause.

    – Matt McCutchen
    Nov 13 '18 at 15:00











  • You're absolutely right @Matt McCutchen, I just added details

    – Niccolò caselli
    Nov 13 '18 at 18:23
















Please provide code sufficient to reproduce the problem so we can find the cause.

– Matt McCutchen
Nov 13 '18 at 15:00





Please provide code sufficient to reproduce the problem so we can find the cause.

– Matt McCutchen
Nov 13 '18 at 15:00













You're absolutely right @Matt McCutchen, I just added details

– Niccolò caselli
Nov 13 '18 at 18:23





You're absolutely right @Matt McCutchen, I just added details

– Niccolò caselli
Nov 13 '18 at 18:23












2 Answers
2






active

oldest

votes


















2














It looks like the React Native type declarations conflict with the browser DOM declarations that TypeScript loads by default. To stop loading the DOM declarations, set the lib option to ["es2017"] (matching your target) in tsconfig.json. (The default value of lib would include es2017 as well as dom.) There's a similar question (although the correct answer to set the lib option is buried in there) and additional discussion in this issue report.






share|improve this answer























  • Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

    – Niccolò caselli
    Nov 13 '18 at 19:02






  • 1





    I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

    – Matt McCutchen
    Nov 13 '18 at 19:55


















1














For those who are trying to configure react-native with typescript:



Check our boilerplate. This repo contains all initial configurations to make things working with new expo-31, babel 7, typescript and jest.






share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53282812%2ferrors-when-configuring-react-native-with-typescript%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    It looks like the React Native type declarations conflict with the browser DOM declarations that TypeScript loads by default. To stop loading the DOM declarations, set the lib option to ["es2017"] (matching your target) in tsconfig.json. (The default value of lib would include es2017 as well as dom.) There's a similar question (although the correct answer to set the lib option is buried in there) and additional discussion in this issue report.






    share|improve this answer























    • Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

      – Niccolò caselli
      Nov 13 '18 at 19:02






    • 1





      I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

      – Matt McCutchen
      Nov 13 '18 at 19:55















    2














    It looks like the React Native type declarations conflict with the browser DOM declarations that TypeScript loads by default. To stop loading the DOM declarations, set the lib option to ["es2017"] (matching your target) in tsconfig.json. (The default value of lib would include es2017 as well as dom.) There's a similar question (although the correct answer to set the lib option is buried in there) and additional discussion in this issue report.






    share|improve this answer























    • Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

      – Niccolò caselli
      Nov 13 '18 at 19:02






    • 1





      I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

      – Matt McCutchen
      Nov 13 '18 at 19:55













    2












    2








    2







    It looks like the React Native type declarations conflict with the browser DOM declarations that TypeScript loads by default. To stop loading the DOM declarations, set the lib option to ["es2017"] (matching your target) in tsconfig.json. (The default value of lib would include es2017 as well as dom.) There's a similar question (although the correct answer to set the lib option is buried in there) and additional discussion in this issue report.






    share|improve this answer













    It looks like the React Native type declarations conflict with the browser DOM declarations that TypeScript loads by default. To stop loading the DOM declarations, set the lib option to ["es2017"] (matching your target) in tsconfig.json. (The default value of lib would include es2017 as well as dom.) There's a similar question (although the correct answer to set the lib option is buried in there) and additional discussion in this issue report.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Nov 13 '18 at 18:47









    Matt McCutchenMatt McCutchen

    13.4k819




    13.4k819












    • Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

      – Niccolò caselli
      Nov 13 '18 at 19:02






    • 1





      I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

      – Matt McCutchen
      Nov 13 '18 at 19:55

















    • Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

      – Niccolò caselli
      Nov 13 '18 at 19:02






    • 1





      I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

      – Matt McCutchen
      Nov 13 '18 at 19:55
















    Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

    – Niccolò caselli
    Nov 13 '18 at 19:02





    Thank you so much you've solved the problem. Do you believe that in the future I will have other conflicts caused by typescript, or can I go quietly? I've never used typescript for the front end and I'd rather not have other problems.

    – Niccolò caselli
    Nov 13 '18 at 19:02




    1




    1





    I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

    – Matt McCutchen
    Nov 13 '18 at 19:55





    I'd say that realistically, you are likely to have further TypeScript-related problems at some point but they are likely to be solvable with a modest amount of work. It's your decision whether you value the type checking and editor services enough to use TypeScript. (I certainly do, or I suppose I wouldn't be here.)

    – Matt McCutchen
    Nov 13 '18 at 19:55













    1














    For those who are trying to configure react-native with typescript:



    Check our boilerplate. This repo contains all initial configurations to make things working with new expo-31, babel 7, typescript and jest.






    share|improve this answer



























      1














      For those who are trying to configure react-native with typescript:



      Check our boilerplate. This repo contains all initial configurations to make things working with new expo-31, babel 7, typescript and jest.






      share|improve this answer

























        1












        1








        1







        For those who are trying to configure react-native with typescript:



        Check our boilerplate. This repo contains all initial configurations to make things working with new expo-31, babel 7, typescript and jest.






        share|improve this answer













        For those who are trying to configure react-native with typescript:



        Check our boilerplate. This repo contains all initial configurations to make things working with new expo-31, babel 7, typescript and jest.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 14 '18 at 11:26









        artyorshartyorsh

        264




        264



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53282812%2ferrors-when-configuring-react-native-with-typescript%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Barbados

            How to read a connectionString WITH PROVIDER in .NET Core?

            Node.js Script on GitHub Pages or Amazon S3