简体   繁体   中英

Do I have to place any scripts/modules I create and want to import within the node_modules folder?

I am creating a VSCode extension, and following the getting started guide ( https://code.visualstudio.com/api/get-started/your-first-extension ) have used yeoman scaffold to get started. I created a new file, newModule.js in the same directory and want to import it as a module for use in the main extension.js script. I then do:

const newModule = require('./newModule.js');  

This throws an error:

cannot find module 'newModule' require stack: - 

This problem disappears if I copy my file to the node_modules folder created by default. I would like to know what is going on here, and what the best way of handling imports is when working with javascript/Node.js/vs-extensions.

I also notice that node_modules folder is not pushed to github by default, why?

The node_modules folder is for storing all the code from the libraries and packages you are using. It is excluded from git because it is a waste of space and a distraction to store them all in your versioning-control, as you can just re-download them anytime.

Just put your module in the same /src directory, and use the import syntax to import it, instead of require .

import newModule  from './newModule';

For example, see how it is done in this sample code.

Please instead

const newModule = require('./newModule.js');  

Try this

import newModule from './newModule');
//                              ^^ Do not use file extension

Also make sure that the file you are calling is in the same directory

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM