2017-06-01 158 views
0

我想把这个github component添加到我的项目中。 我跟着指示使用NPM在html中用npm导入javascript

npm install pikaday --save 

和pikaday和力矩模块在节点模块文件夹,但是当我跑我的html文件:

<body> 
<input type="text" id="datepicker" value="9 Jun 2016"> 
<script src="pikaday.js"></script> 
<script src="moment.js"></script> 
<script> 
    var Pikaday = require('pikaday') 
    var picker = new Pikaday({ 
     field: document.getElementById('datepicker'), 
     format: 'D MMM YYYY', 
     onSelect: function() { 
      console.log(this.getMoment().format('Do MMMM YYYY')); 
     } 
    }); 
</script> 
</body> 

我得到了以下错误:

GET http://localhost:3000/pikaday.js 
(index):14 GET http://localhost:3000/moment.js 
(index):17 Uncaught ReferenceError: Pikaday is not defined 
    at (index):17 

我改变路径

<script src="/node_modules/pikaday/pikaday.js"></script> 

,但得到了同样的错误

+0

你需要使用一个模块捆绑喜欢的WebPack或browserify加载模块 – karthick

回答

0

你将需要作出规定可以作为一个静态文件。如果您使用快递:

app.use('/static/pikaday/pikaday.js', express.static('./node_modules/pikaday/pikaday.js')

然后在您的html:

<script src="/static/pikaday/pikaday.js"></script>

0

据我所知道的是,如果你将通过NPM使用,您将需要使用其他的框架喜欢的WebPack打造一次JavaScript文件与你的整个的js代码,因为node_modules dir不应该部署到您的服务器。

代码段var Pikaday = require('pikaday')在浏览器中不起作用,只能在node.js服务器上运行。

,如果你不希望建立与您的JS包,你可能只是下载的文件和配置到您的资产