node.js - npm 发布ES6模块后再引入,import出错?

查看:383
本文介绍了node.js - npm 发布ES6模块后再引入,import出错?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

D:\iota\code\web\iota-api-server-scaffold\node_modules\iota-user\index.js:4
import * as auth from './src/auth';
^^^^^^
SyntaxError: Unexpected token import
    at Object.exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:513:28)
    at Module._extensions..js (module.js:550:10)
    at Object.require.extensions.(anonymous function) [as .js] (C:\Users\35824\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-register\lib\node.js:166:7)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (config.js:10:1)

npm set registry 本地仓库
npm adduser --registry 本地仓库
npm publish

编译用的 babel,
我怀疑是在引入后不识别模块里的node_modules了,
那么是我发布的方式不对,还是需要什么命令转换?

解决方案

  1. "编译用的 babel"是,指的是类库项目iota-user,还是当前引用类库的项目iota-api-server-scaffold

  2. iota-user项目的package.json里的main字段指的是什么文件?babel编译后的,还是编译器前的源文件?

建议你先完整的读完package.json,然后也给你个参考项目:angular-baidu-map。我源码是用es6写的,通过webpack + babel编译,在npm发布编译后的文件。main字段指向dist/angular-baidu-map.js(编译后的文件)。

当别人也在babel或者其他支持ES6模块规范的编译环境下,都可以用import {ngBaiduMap} from 'angular-baidu-map';来引用我的模块

这篇关于node.js - npm 发布ES6模块后再引入,import出错?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆