# Using npm package in basic HTML ... and also some get arounds to pass arrays from PHP to Javascript. ```php! <script> const array_js = <?= json_encode($php_array) ?>; </script> ``` ... okay that was a random bit that I'm just very excited to have found on the internet, I digress. > source: https://medium.com/hackernoon/use-es6-javascript-syntax-require-import-etc-in-your-front-end-project-5eefcef745c2 ## Motive I'd preface this by saying my programming knowledge is pretty limited and if you think what I am going to do next is dumb or old, feel free to correct me, thanks. So I wanted to use some npm packages (namely [A-Frame](https://aframe.io/docs/1.3.0/introduction/) and it's components), but since my company uses traditional-styled PHP, I had problems just say `import package from "package"` or something like that. Therefore we would need some other way to use npm pacakges. I am not sure how other packages, say React, would react (ba dumb tsz) but for my limited usage the source placed up top seems to work. However there are some revisions I would like to point out because the authors methods didn't work for me. ## Method First create two files - `index.html` - `node_packages/index.js` Go into the `node_package/` (or whatever you want to name it) directory and `npm init` and install some packages ```bash! cd node_packages npm init npm i browserify watchify --save npm i @babel/core @babel/preset-env babelify --save-dev # the author used some older version packages ``` Go into your `packages.json` file and add the following lines ```jsonld! { ... "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "browserify index.js -o dist/bundle.js", "watch": "watchify index.js -o dist/bundle.js -v" }, "browserify": { "transform": [ [ "babelify", { "presets": [ "@babel/preset-env" ] } ] ] }, ... } ``` `import pacakge from "package"` in the `index.js` file. Run `npm run build` and then attach the Javascript file onto `index.html` with `<script src="node_packages/dist/bundle.js">` and you could use npm pacakges in basic HTML. If you'd like to fully follow along here's the full test code I have. https://gitlab.com/imfulee/es6-html-demo